coss 0.1.0 → 0.2.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 (351) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/coss/billing/types/usage_billing_request_meter.rb +7 -0
  4. data/lib/coss/client.rb +21 -1
  5. data/lib/coss/domains/client.rb +54 -2
  6. data/lib/coss/domains/types/create_domain_request.rb +2 -0
  7. data/lib/coss/domains/types/list_domains_request.rb +11 -0
  8. data/lib/coss/domains/types/update_domain_request.rb +13 -0
  9. data/lib/coss/email/client.rb +7 -0
  10. data/lib/coss/email/subaccounts/client.rb +322 -0
  11. data/lib/coss/email/subaccounts/types/create_subaccount_request.rb +19 -0
  12. data/lib/coss/email/subaccounts/types/create_subaccount_request_quotas.rb +18 -0
  13. data/lib/coss/email/subaccounts/types/delete_subaccounts_request.rb +13 -0
  14. data/lib/coss/email/subaccounts/types/get_subaccounts_request.rb +13 -0
  15. data/lib/coss/email/subaccounts/types/list_subaccounts_request.rb +15 -0
  16. data/lib/coss/email/subaccounts/types/reinstate_subaccounts_request.rb +13 -0
  17. data/lib/coss/email/subaccounts/types/stats_subaccounts_request.rb +17 -0
  18. data/lib/coss/email/subaccounts/types/update_subaccount_request.rb +23 -0
  19. data/lib/coss/email/subaccounts/types/update_subaccount_request_quotas.rb +18 -0
  20. data/lib/coss/email/subaccounts/types/update_subaccount_request_status.rb +16 -0
  21. data/lib/coss/email/suppressions/client.rb +7 -1
  22. data/lib/coss/email/suppressions/types/check_suppressions_request.rb +2 -0
  23. data/lib/coss/email/suppressions/types/create_suppression_request.rb +2 -0
  24. data/lib/coss/email/suppressions/types/export_suppressions_request.rb +2 -0
  25. data/lib/coss/email/suppressions/types/import_suppressions_request.rb +2 -0
  26. data/lib/coss/email/suppressions/types/list_suppressions_request.rb +2 -0
  27. data/lib/coss/email/types/list_email_request.rb +2 -0
  28. data/lib/coss/forms/client.rb +233 -0
  29. data/lib/coss/forms/submissions/client.rb +229 -0
  30. data/lib/coss/forms/submissions/types/file_submissions_request.rb +17 -0
  31. data/lib/coss/forms/submissions/types/get_submissions_request.rb +15 -0
  32. data/lib/coss/forms/submissions/types/list_submissions_request.rb +19 -0
  33. data/lib/coss/forms/submissions/types/release_submissions_request.rb +15 -0
  34. data/lib/coss/forms/submissions/types/remove_submissions_request.rb +15 -0
  35. data/lib/coss/forms/types/create_form_request.rb +33 -0
  36. data/lib/coss/forms/types/create_form_request_contacts.rb +23 -0
  37. data/lib/coss/forms/types/create_form_request_files.rb +17 -0
  38. data/lib/coss/forms/types/create_form_request_hosted.rb +19 -0
  39. data/lib/coss/forms/types/create_form_request_notifications.rb +13 -0
  40. data/lib/coss/forms/types/create_form_request_spam.rb +19 -0
  41. data/lib/coss/forms/types/create_form_request_spam_captcha.rb +14 -0
  42. data/lib/coss/forms/types/create_form_request_spam_on_review.rb +14 -0
  43. data/lib/coss/forms/types/create_form_request_submitter.rb +15 -0
  44. data/lib/coss/forms/types/get_forms_request.rb +11 -0
  45. data/lib/coss/forms/types/list_forms_request.rb +13 -0
  46. data/lib/coss/forms/types/remove_forms_request.rb +11 -0
  47. data/lib/coss/forms/types/update_form_request.rb +35 -0
  48. data/lib/coss/forms/types/update_form_request_contacts.rb +23 -0
  49. data/lib/coss/forms/types/update_form_request_files.rb +17 -0
  50. data/lib/coss/forms/types/update_form_request_hosted.rb +19 -0
  51. data/lib/coss/forms/types/update_form_request_notifications.rb +13 -0
  52. data/lib/coss/forms/types/update_form_request_spam.rb +19 -0
  53. data/lib/coss/forms/types/update_form_request_spam_captcha.rb +14 -0
  54. data/lib/coss/forms/types/update_form_request_spam_on_review.rb +14 -0
  55. data/lib/coss/forms/types/update_form_request_submitter.rb +15 -0
  56. data/lib/coss/inboxes/client.rb +234 -0
  57. data/lib/coss/inboxes/messages/client.rb +259 -0
  58. data/lib/coss/inboxes/messages/types/get_attachment_messages_request.rb +17 -0
  59. data/lib/coss/inboxes/messages/types/get_messages_request.rb +15 -0
  60. data/lib/coss/inboxes/messages/types/list_messages_request.rb +19 -0
  61. data/lib/coss/inboxes/messages/types/list_messages_request_direction.rb +16 -0
  62. data/lib/coss/inboxes/messages/types/reply_inbox_message_request.rb +31 -0
  63. data/lib/coss/inboxes/messages/types/reply_inbox_message_request_bcc.rb +17 -0
  64. data/lib/coss/inboxes/messages/types/reply_inbox_message_request_cc.rb +17 -0
  65. data/lib/coss/inboxes/messages/types/reply_inbox_message_request_tags_item.rb +15 -0
  66. data/lib/coss/inboxes/messages/types/send_inbox_message_request.rb +31 -0
  67. data/lib/coss/inboxes/messages/types/send_inbox_message_request_bcc.rb +17 -0
  68. data/lib/coss/inboxes/messages/types/send_inbox_message_request_cc.rb +17 -0
  69. data/lib/coss/inboxes/messages/types/send_inbox_message_request_tags_item.rb +15 -0
  70. data/lib/coss/inboxes/messages/types/send_inbox_message_request_to.rb +17 -0
  71. data/lib/coss/inboxes/threads/client.rb +147 -0
  72. data/lib/coss/inboxes/threads/types/delete_threads_request.rb +15 -0
  73. data/lib/coss/inboxes/threads/types/get_threads_request.rb +15 -0
  74. data/lib/coss/inboxes/threads/types/list_threads_request.rb +17 -0
  75. data/lib/coss/inboxes/types/create_inbox_request.rb +17 -0
  76. data/lib/coss/inboxes/types/delete_inboxes_request.rb +11 -0
  77. data/lib/coss/inboxes/types/get_inboxes_request.rb +11 -0
  78. data/lib/coss/inboxes/types/list_inboxes_request.rb +13 -0
  79. data/lib/coss/inboxes/types/update_inbox_request.rb +13 -0
  80. data/lib/coss/risk/client.rb +46 -0
  81. data/lib/coss/risk/types/risk_phone_check_request.rb +11 -0
  82. data/lib/coss/sign/client.rb +39 -0
  83. data/lib/coss/sign/documents/client.rb +177 -0
  84. data/lib/coss/sign/documents/types/get_documents_request.rb +13 -0
  85. data/lib/coss/sign/documents/types/list_documents_request.rb +15 -0
  86. data/lib/coss/sign/documents/types/remove_documents_request.rb +13 -0
  87. data/lib/coss/sign/documents/types/upload_sign_document_request.rb +15 -0
  88. data/lib/coss/sign/requests/client.rb +409 -0
  89. data/lib/coss/sign/requests/types/audit_trail_requests_request.rb +13 -0
  90. data/lib/coss/sign/requests/types/cancel_requests_request.rb +13 -0
  91. data/lib/coss/sign/requests/types/create_sign_request_request.rb +31 -0
  92. data/lib/coss/sign/requests/types/create_sign_request_request_documents_item.rb +17 -0
  93. data/lib/coss/sign/requests/types/create_sign_request_request_documents_item_content.rb +15 -0
  94. data/lib/coss/sign/requests/types/create_sign_request_request_documents_item_document_id.rb +13 -0
  95. data/lib/coss/sign/requests/types/create_sign_request_request_signers_item.rb +23 -0
  96. data/lib/coss/sign/requests/types/create_sign_request_request_signers_item_delivery.rb +16 -0
  97. data/lib/coss/sign/requests/types/create_sign_request_request_signing_order.rb +16 -0
  98. data/lib/coss/sign/requests/types/get_requests_request.rb +13 -0
  99. data/lib/coss/sign/requests/types/list_requests_request.rb +17 -0
  100. data/lib/coss/sign/requests/types/remind_requests_request.rb +13 -0
  101. data/lib/coss/sign/requests/types/remove_requests_request.rb +13 -0
  102. data/lib/coss/sign/requests/types/send_requests_request.rb +13 -0
  103. data/lib/coss/sign/requests/types/signed_document_requests_request.rb +13 -0
  104. data/lib/coss/sign/sessions/client.rb +69 -0
  105. data/lib/coss/sign/sessions/types/create_sign_session_request.rb +17 -0
  106. data/lib/coss/sign/settings/client.rb +92 -0
  107. data/lib/coss/sign/settings/types/update_sign_settings_request.rb +25 -0
  108. data/lib/coss/sign/settings/types/update_sign_settings_request_theme.rb +17 -0
  109. data/lib/coss/sign/templates/client.rb +374 -0
  110. data/lib/coss/sign/templates/types/create_sign_builder_session_request.rb +15 -0
  111. data/lib/coss/sign/templates/types/create_sign_request_from_template_request.rb +33 -0
  112. data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signers_item.rb +23 -0
  113. data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signers_item_delivery.rb +16 -0
  114. data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signing_order.rb +16 -0
  115. data/lib/coss/sign/templates/types/create_sign_template_request.rb +25 -0
  116. data/lib/coss/sign/templates/types/create_sign_template_request_documents_item.rb +17 -0
  117. data/lib/coss/sign/templates/types/create_sign_template_request_documents_item_content.rb +15 -0
  118. data/lib/coss/sign/templates/types/create_sign_template_request_documents_item_document_id.rb +13 -0
  119. data/lib/coss/sign/templates/types/create_sign_template_request_fields_item.rb +17 -0
  120. data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_anchor.rb +31 -0
  121. data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_anchor_type.rb +21 -0
  122. data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_document.rb +33 -0
  123. data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_document_type.rb +21 -0
  124. data/lib/coss/sign/templates/types/create_sign_template_request_roles_item.rb +15 -0
  125. data/lib/coss/sign/templates/types/create_sign_template_request_signing_order.rb +16 -0
  126. data/lib/coss/sign/templates/types/get_templates_request.rb +13 -0
  127. data/lib/coss/sign/templates/types/list_templates_request.rb +15 -0
  128. data/lib/coss/sign/templates/types/remove_templates_request.rb +13 -0
  129. data/lib/coss/sign/templates/types/update_sign_template_request.rb +27 -0
  130. data/lib/coss/sign/templates/types/update_sign_template_request_documents_item.rb +17 -0
  131. data/lib/coss/sign/templates/types/update_sign_template_request_documents_item_content.rb +15 -0
  132. data/lib/coss/sign/templates/types/update_sign_template_request_documents_item_document_id.rb +13 -0
  133. data/lib/coss/sign/templates/types/update_sign_template_request_fields_item.rb +17 -0
  134. data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_anchor.rb +31 -0
  135. data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_anchor_type.rb +21 -0
  136. data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_document.rb +33 -0
  137. data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_document_type.rb +21 -0
  138. data/lib/coss/sign/templates/types/update_sign_template_request_roles_item.rb +15 -0
  139. data/lib/coss/sign/templates/types/update_sign_template_request_signing_order.rb +16 -0
  140. data/lib/coss/types/billing_limits.rb +2 -0
  141. data/lib/coss/types/billing_usage_item_meter.rb +7 -0
  142. data/lib/coss/types/billing_webhook_event_three_data_meter.rb +7 -0
  143. data/lib/coss/types/contact_source.rb +1 -0
  144. data/lib/coss/types/contact_webhook_event_data_source.rb +1 -0
  145. data/lib/coss/types/credit_meter.rb +7 -0
  146. data/lib/coss/types/credit_meters_item.rb +7 -0
  147. data/lib/coss/types/deleted_form.rb +13 -0
  148. data/lib/coss/types/deleted_form_object.rb +11 -0
  149. data/lib/coss/types/deleted_form_submission.rb +13 -0
  150. data/lib/coss/types/deleted_form_submission_object.rb +11 -0
  151. data/lib/coss/types/deleted_inbox.rb +13 -0
  152. data/lib/coss/types/deleted_inbox_object.rb +11 -0
  153. data/lib/coss/types/deleted_inbox_thread.rb +13 -0
  154. data/lib/coss/types/deleted_inbox_thread_object.rb +11 -0
  155. data/lib/coss/types/deleted_sign_document.rb +13 -0
  156. data/lib/coss/types/deleted_sign_document_object.rb +11 -0
  157. data/lib/coss/types/deleted_sign_request.rb +13 -0
  158. data/lib/coss/types/deleted_sign_request_object.rb +11 -0
  159. data/lib/coss/types/deleted_sign_template.rb +13 -0
  160. data/lib/coss/types/deleted_sign_template_object.rb +11 -0
  161. data/lib/coss/types/domain.rb +4 -0
  162. data/lib/coss/types/email.rb +2 -0
  163. data/lib/coss/types/email_summary.rb +2 -0
  164. data/lib/coss/types/email_webhook_event_data.rb +2 -0
  165. data/lib/coss/types/error_body.rb +2 -0
  166. data/lib/coss/types/form.rb +47 -0
  167. data/lib/coss/types/form_contacts.rb +21 -0
  168. data/lib/coss/types/form_field.rb +21 -0
  169. data/lib/coss/types/form_field_input.rb +21 -0
  170. data/lib/coss/types/form_field_input_type.rb +22 -0
  171. data/lib/coss/types/form_field_type.rb +22 -0
  172. data/lib/coss/types/form_files.rb +15 -0
  173. data/lib/coss/types/form_hosted.rb +19 -0
  174. data/lib/coss/types/form_list.rb +13 -0
  175. data/lib/coss/types/form_list_object.rb +11 -0
  176. data/lib/coss/types/form_notifications.rb +11 -0
  177. data/lib/coss/types/form_object.rb +11 -0
  178. data/lib/coss/types/form_spam.rb +17 -0
  179. data/lib/coss/types/form_spam_captcha.rb +12 -0
  180. data/lib/coss/types/form_spam_on_review.rb +12 -0
  181. data/lib/coss/types/form_submission.rb +43 -0
  182. data/lib/coss/types/form_submission_data_value.rb +13 -0
  183. data/lib/coss/types/form_submission_file.rb +17 -0
  184. data/lib/coss/types/form_submission_list.rb +13 -0
  185. data/lib/coss/types/form_submission_list_object.rb +11 -0
  186. data/lib/coss/types/form_submission_object.rb +11 -0
  187. data/lib/coss/types/form_submission_risk.rb +14 -0
  188. data/lib/coss/types/form_submission_risk_decision.rb +13 -0
  189. data/lib/coss/types/form_submission_spam_reason.rb +14 -0
  190. data/lib/coss/types/form_submission_status.rb +14 -0
  191. data/lib/coss/types/form_submission_webhook_event.rb +19 -0
  192. data/lib/coss/types/form_submission_webhook_event_data.rb +27 -0
  193. data/lib/coss/types/form_submission_webhook_event_data_data_value.rb +13 -0
  194. data/lib/coss/types/form_submission_webhook_event_data_spam_reason.rb +14 -0
  195. data/lib/coss/types/form_submission_webhook_event_data_status.rb +14 -0
  196. data/lib/coss/types/form_submission_webhook_event_object.rb +11 -0
  197. data/lib/coss/types/form_submission_webhook_event_type.rb +12 -0
  198. data/lib/coss/types/form_submitter.rb +13 -0
  199. data/lib/coss/types/inbox.rb +31 -0
  200. data/lib/coss/types/inbox_kind.rb +12 -0
  201. data/lib/coss/types/inbox_list.rb +13 -0
  202. data/lib/coss/types/inbox_list_object.rb +11 -0
  203. data/lib/coss/types/inbox_message.rb +55 -0
  204. data/lib/coss/types/inbox_message_direction.rb +12 -0
  205. data/lib/coss/types/inbox_message_list.rb +13 -0
  206. data/lib/coss/types/inbox_message_list_object.rb +11 -0
  207. data/lib/coss/types/inbox_message_object.rb +11 -0
  208. data/lib/coss/types/inbox_message_received_webhook_event.rb +19 -0
  209. data/lib/coss/types/inbox_message_received_webhook_event_data.rb +33 -0
  210. data/lib/coss/types/inbox_message_received_webhook_event_object.rb +11 -0
  211. data/lib/coss/types/inbox_message_received_webhook_event_type.rb +11 -0
  212. data/lib/coss/types/inbox_message_status.rb +16 -0
  213. data/lib/coss/types/inbox_message_summary.rb +39 -0
  214. data/lib/coss/types/inbox_message_summary_direction.rb +12 -0
  215. data/lib/coss/types/inbox_message_summary_object.rb +11 -0
  216. data/lib/coss/types/inbox_message_summary_status.rb +16 -0
  217. data/lib/coss/types/inbox_object.rb +11 -0
  218. data/lib/coss/types/inbox_thread.rb +29 -0
  219. data/lib/coss/types/inbox_thread_list.rb +13 -0
  220. data/lib/coss/types/inbox_thread_list_object.rb +11 -0
  221. data/lib/coss/types/inbox_thread_object.rb +11 -0
  222. data/lib/coss/types/inbox_thread_summary.rb +27 -0
  223. data/lib/coss/types/inbox_thread_summary_object.rb +11 -0
  224. data/lib/coss/types/invoice_line_meter.rb +7 -0
  225. data/lib/coss/types/log_drain_source.rb +3 -0
  226. data/lib/coss/types/log_source.rb +3 -0
  227. data/lib/coss/types/risk_phone_carrier.rb +13 -0
  228. data/lib/coss/types/risk_phone_check.rb +23 -0
  229. data/lib/coss/types/risk_phone_check_degraded_item.rb +12 -0
  230. data/lib/coss/types/risk_phone_check_line_type.rb +22 -0
  231. data/lib/coss/types/risk_phone_check_object.rb +11 -0
  232. data/lib/coss/types/risk_phone_sim_swap.rb +13 -0
  233. data/lib/coss/types/send_email_request.rb +2 -0
  234. data/lib/coss/types/sign_builder_session.rb +19 -0
  235. data/lib/coss/types/sign_builder_session_object.rb +11 -0
  236. data/lib/coss/types/sign_document.rb +27 -0
  237. data/lib/coss/types/sign_document_anchors_item.rb +20 -0
  238. data/lib/coss/types/sign_document_list.rb +13 -0
  239. data/lib/coss/types/sign_document_list_object.rb +11 -0
  240. data/lib/coss/types/sign_document_object.rb +11 -0
  241. data/lib/coss/types/sign_document_pages_item.rb +11 -0
  242. data/lib/coss/types/sign_event.rb +31 -0
  243. data/lib/coss/types/sign_event_actor.rb +14 -0
  244. data/lib/coss/types/sign_event_details.rb +23 -0
  245. data/lib/coss/types/sign_event_list.rb +13 -0
  246. data/lib/coss/types/sign_event_list_object.rb +11 -0
  247. data/lib/coss/types/sign_event_object.rb +11 -0
  248. data/lib/coss/types/sign_event_type.rb +22 -0
  249. data/lib/coss/types/sign_field.rb +33 -0
  250. data/lib/coss/types/sign_field_input.rb +13 -0
  251. data/lib/coss/types/sign_field_input_anchor.rb +23 -0
  252. data/lib/coss/types/sign_field_input_anchor_type.rb +17 -0
  253. data/lib/coss/types/sign_field_input_document.rb +25 -0
  254. data/lib/coss/types/sign_field_input_document_type.rb +17 -0
  255. data/lib/coss/types/sign_field_object.rb +11 -0
  256. data/lib/coss/types/sign_field_type.rb +17 -0
  257. data/lib/coss/types/sign_request.rb +47 -0
  258. data/lib/coss/types/sign_request_documents_item.rb +15 -0
  259. data/lib/coss/types/sign_request_list.rb +13 -0
  260. data/lib/coss/types/sign_request_list_object.rb +11 -0
  261. data/lib/coss/types/sign_request_object.rb +11 -0
  262. data/lib/coss/types/sign_request_signed_document.rb +11 -0
  263. data/lib/coss/types/sign_request_signing_order.rb +12 -0
  264. data/lib/coss/types/sign_request_status.rb +16 -0
  265. data/lib/coss/types/sign_request_webhook_event.rb +19 -0
  266. data/lib/coss/types/sign_request_webhook_event_data.rb +23 -0
  267. data/lib/coss/types/sign_request_webhook_event_data_signer.rb +18 -0
  268. data/lib/coss/types/sign_request_webhook_event_data_signer_status.rb +15 -0
  269. data/lib/coss/types/sign_request_webhook_event_data_status.rb +16 -0
  270. data/lib/coss/types/sign_request_webhook_event_object.rb +11 -0
  271. data/lib/coss/types/sign_request_webhook_event_type.rb +17 -0
  272. data/lib/coss/types/sign_session.rb +21 -0
  273. data/lib/coss/types/sign_session_object.rb +11 -0
  274. data/lib/coss/types/sign_settings.rb +23 -0
  275. data/lib/coss/types/sign_settings_object.rb +11 -0
  276. data/lib/coss/types/sign_settings_theme.rb +13 -0
  277. data/lib/coss/types/sign_signer.rb +33 -0
  278. data/lib/coss/types/sign_signer_authentication.rb +12 -0
  279. data/lib/coss/types/sign_signer_delivery.rb +12 -0
  280. data/lib/coss/types/sign_signer_object.rb +11 -0
  281. data/lib/coss/types/sign_signer_status.rb +15 -0
  282. data/lib/coss/types/sign_template.rb +33 -0
  283. data/lib/coss/types/sign_template_documents_item.rb +17 -0
  284. data/lib/coss/types/sign_template_documents_item_pages_item.rb +11 -0
  285. data/lib/coss/types/sign_template_fields_item.rb +31 -0
  286. data/lib/coss/types/sign_template_fields_item_type.rb +17 -0
  287. data/lib/coss/types/sign_template_list.rb +13 -0
  288. data/lib/coss/types/sign_template_list_object.rb +11 -0
  289. data/lib/coss/types/sign_template_object.rb +11 -0
  290. data/lib/coss/types/sign_template_roles_item.rb +11 -0
  291. data/lib/coss/types/sign_template_signing_order.rb +12 -0
  292. data/lib/coss/types/subaccount.rb +27 -0
  293. data/lib/coss/types/subaccount_list.rb +13 -0
  294. data/lib/coss/types/subaccount_list_object.rb +11 -0
  295. data/lib/coss/types/subaccount_object.rb +11 -0
  296. data/lib/coss/types/subaccount_quotas.rb +13 -0
  297. data/lib/coss/types/subaccount_reputation.rb +15 -0
  298. data/lib/coss/types/subaccount_reputation_status.rb +13 -0
  299. data/lib/coss/types/subaccount_stats.rb +17 -0
  300. data/lib/coss/types/subaccount_stats_day.rb +23 -0
  301. data/lib/coss/types/subaccount_stats_object.rb +11 -0
  302. data/lib/coss/types/subaccount_status.rb +13 -0
  303. data/lib/coss/types/subaccount_webhook_event.rb +19 -0
  304. data/lib/coss/types/subaccount_webhook_event_data.rb +21 -0
  305. data/lib/coss/types/subaccount_webhook_event_data_previous_status.rb +13 -0
  306. data/lib/coss/types/subaccount_webhook_event_data_status.rb +13 -0
  307. data/lib/coss/types/subaccount_webhook_event_object.rb +11 -0
  308. data/lib/coss/types/subaccount_webhook_event_type.rb +14 -0
  309. data/lib/coss/types/suppression.rb +2 -0
  310. data/lib/coss/types/usage_meter.rb +7 -0
  311. data/lib/coss/types/verification.rb +39 -0
  312. data/lib/coss/types/verification_channel.rb +12 -0
  313. data/lib/coss/types/verification_check.rb +13 -0
  314. data/lib/coss/types/verification_check_object.rb +11 -0
  315. data/lib/coss/types/verification_failure.rb +12 -0
  316. data/lib/coss/types/verification_list.rb +13 -0
  317. data/lib/coss/types/verification_list_object.rb +11 -0
  318. data/lib/coss/types/verification_object.rb +11 -0
  319. data/lib/coss/types/verification_reasons_item.rb +12 -0
  320. data/lib/coss/types/verification_send.rb +17 -0
  321. data/lib/coss/types/verification_send_channel.rb +12 -0
  322. data/lib/coss/types/verification_send_route.rb +14 -0
  323. data/lib/coss/types/verification_status.rb +16 -0
  324. data/lib/coss/types/verification_tags_item.rb +11 -0
  325. data/lib/coss/types/verification_webhook_event.rb +19 -0
  326. data/lib/coss/types/verification_webhook_event_data.rb +25 -0
  327. data/lib/coss/types/verification_webhook_event_data_channel.rb +12 -0
  328. data/lib/coss/types/verification_webhook_event_data_failure.rb +11 -0
  329. data/lib/coss/types/verification_webhook_event_data_reasons_item.rb +12 -0
  330. data/lib/coss/types/verification_webhook_event_data_status.rb +16 -0
  331. data/lib/coss/types/verification_webhook_event_data_tags_item.rb +11 -0
  332. data/lib/coss/types/verification_webhook_event_object.rb +11 -0
  333. data/lib/coss/types/verification_webhook_event_type.rb +13 -0
  334. data/lib/coss/types/webhook_test_event_event.rb +8 -0
  335. data/lib/coss/verify/client.rb +248 -0
  336. data/lib/coss/verify/types/cancel_verify_request.rb +11 -0
  337. data/lib/coss/verify/types/check_verification_request.rb +17 -0
  338. data/lib/coss/verify/types/get_verify_request.rb +11 -0
  339. data/lib/coss/verify/types/list_verify_request.rb +17 -0
  340. data/lib/coss/verify/types/list_verify_request_status.rb +18 -0
  341. data/lib/coss/verify/types/start_verification_request.rb +21 -0
  342. data/lib/coss/verify/types/start_verification_request_channel.rb +14 -0
  343. data/lib/coss/verify/types/start_verification_request_tags_item.rb +13 -0
  344. data/lib/coss/version.rb +1 -1
  345. data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_event_types_item.rb +17 -0
  346. data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_event_types_item.rb +17 -0
  347. data/lib/coss/webhook_events/types/create_test_webhook_event_request_type.rb +17 -0
  348. data/lib/coss/webhook_listeners/types/create_webhook_listener_request_event_types_item.rb +17 -0
  349. data/lib/coss.rb +309 -0
  350. data/reference.md +7422 -2479
  351. metadata +310 -1
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Requests
6
+ module Types
7
+ class SignedDocumentRequestsRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Sessions
6
+ class Client
7
+ # @param client [Coss::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # A short-lived link to the signing page for one `embedded` signer of a sent request. Your app vouches for who
15
+ # the signer is (the audit trail records `customer_asserted`), so create it only for that signed-in user, when
16
+ # they open the page that shows it. Embed the `url` in an iframe from an origin in your Sign settings'
17
+ # `allowed_origins` (`mountSigning` from `coss/sign` does it), or redirect to it. Each call creates a new
18
+ # session.
19
+ #
20
+ # @param request_options [Hash]
21
+ # @param params [Coss::Sign::Sessions::Types::CreateSignSessionRequest]
22
+ # @option request_options [String] :base_url
23
+ # @option request_options [Hash{String => Object}] :additional_headers
24
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
25
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
26
+ # @option request_options [Integer] :timeout_in_seconds
27
+ # @option params [String] :id
28
+ # @option params [String] :signer_id
29
+ #
30
+ # @example
31
+ # client.sign.sessions.create(
32
+ # id: "sreq_01k7c8m4q2f3e9v6t5r1n0p8yz",
33
+ # signer_id: "ssgn_01k7c8m4q2f3e9v6t5r1n0p8yz",
34
+ # expires_in: 3600
35
+ # )
36
+ #
37
+ # @return [Coss::Types::SignSession]
38
+ def create(request_options: {}, **params)
39
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
40
+ request_data = Coss::Sign::Sessions::Types::CreateSignSessionRequest.new(params).to_h
41
+ non_body_param_names = %w[id signer_id]
42
+ body = request_data.except(*non_body_param_names)
43
+
44
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
45
+ request = Coss::Internal::JSON::Request.new(
46
+ base_url: request_options[:base_url],
47
+ method: "POST",
48
+ path: "v1/sign/requests/#{URI.encode_uri_component(params[:id].to_s)}/signers/#{URI.encode_uri_component(params[:signer_id].to_s)}/sessions",
49
+ headers: headers,
50
+ body: body,
51
+ request_options: request_options
52
+ )
53
+ begin
54
+ response = @client.send(request)
55
+ rescue Net::HTTPRequestTimeout
56
+ raise Coss::Errors::TimeoutError
57
+ end
58
+ code = response.code.to_i
59
+ if code.between?(200, 299)
60
+ (response.body.to_s.empty? ? nil : Coss::Types::SignSession.load(response.body))
61
+ else
62
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
63
+ raise error_class.new(response.body, code: code)
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Sessions
6
+ module Types
7
+ class CreateSignSessionRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :signer_id, -> { String }, optional: false, nullable: false
11
+
12
+ field :expires_in, -> { Integer }, optional: true, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Settings
6
+ class Client
7
+ # @param client [Coss::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # The API key's environment's settings: which sites may embed the signing page, how it looks, and the consent
15
+ # text signers accept.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param _params [Hash]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ #
25
+ # @example
26
+ # client.sign.settings.get
27
+ #
28
+ # @return [Coss::Types::SignSettings]
29
+ def get(request_options: {}, **_params)
30
+ request = Coss::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url],
32
+ method: "GET",
33
+ path: "v1/sign/settings",
34
+ request_options: request_options
35
+ )
36
+ begin
37
+ response = @client.send(request)
38
+ rescue Net::HTTPRequestTimeout
39
+ raise Coss::Errors::TimeoutError
40
+ end
41
+ code = response.code.to_i
42
+ if code.between?(200, 299)
43
+ (response.body.to_s.empty? ? nil : Coss::Types::SignSettings.load(response.body))
44
+ else
45
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
46
+ raise error_class.new(response.body, code: code)
47
+ end
48
+ end
49
+
50
+ # Changes the fields given; the others keep their values.
51
+ #
52
+ # @param request_options [Hash]
53
+ # @param params [Coss::Sign::Settings::Types::UpdateSignSettingsRequest]
54
+ # @option request_options [String] :base_url
55
+ # @option request_options [Hash{String => Object}] :additional_headers
56
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
57
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
58
+ # @option request_options [Integer] :timeout_in_seconds
59
+ #
60
+ # @example
61
+ # client.sign.settings.update(
62
+ # allowed_origins: ["https://app.example.com"],
63
+ # display_name: "Acme"
64
+ # )
65
+ #
66
+ # @return [Coss::Types::SignSettings]
67
+ def update(request_options: {}, **params)
68
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
69
+ request = Coss::Internal::JSON::Request.new(
70
+ base_url: request_options[:base_url],
71
+ method: "PATCH",
72
+ path: "v1/sign/settings",
73
+ body: Coss::Sign::Settings::Types::UpdateSignSettingsRequest.new(params).to_h,
74
+ request_options: request_options
75
+ )
76
+ begin
77
+ response = @client.send(request)
78
+ rescue Net::HTTPRequestTimeout
79
+ raise Coss::Errors::TimeoutError
80
+ end
81
+ code = response.code.to_i
82
+ if code.between?(200, 299)
83
+ (response.body.to_s.empty? ? nil : Coss::Types::SignSettings.load(response.body))
84
+ else
85
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
86
+ raise error_class.new(response.body, code: code)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Settings
6
+ module Types
7
+ class UpdateSignSettingsRequest < Internal::Types::Model
8
+ field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
+
10
+ field :display_name, -> { String }, optional: true, nullable: false
11
+
12
+ field :accent_color, -> { String }, optional: true, nullable: false
13
+
14
+ field :theme, -> { Coss::Sign::Settings::Types::UpdateSignSettingsRequestTheme }, optional: true, nullable: false
15
+
16
+ field :disclosure, -> { String }, optional: true, nullable: false
17
+
18
+ field :email_from, -> { String }, optional: true, nullable: false
19
+
20
+ field :reminder_interval_days, -> { Integer }, optional: true, nullable: false
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Settings
6
+ module Types
7
+ module UpdateSignSettingsRequestTheme
8
+ extend Coss::Internal::Types::Enum
9
+
10
+ SYSTEM = "system"
11
+ LIGHT = "light"
12
+ DARK = "dark"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,374 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Templates
6
+ class Client
7
+ # @param client [Coss::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # Newest first. Pass the last `id` as `after` while `has_more` is true.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ # @option params [Integer, nil] :limit
24
+ # @option params [String, nil] :after
25
+ #
26
+ # @example
27
+ # client.sign.templates.list
28
+ #
29
+ # @return [Coss::Types::SignTemplateList]
30
+ def list(request_options: {}, **params)
31
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
32
+ query_params = {}
33
+ query_params["limit"] = params[:limit] if params.key?(:limit)
34
+ query_params["after"] = params[:after] if params.key?(:after)
35
+
36
+ request = Coss::Internal::JSON::Request.new(
37
+ base_url: request_options[:base_url],
38
+ method: "GET",
39
+ path: "v1/sign/templates",
40
+ query: query_params,
41
+ request_options: request_options
42
+ )
43
+ begin
44
+ response = @client.send(request)
45
+ rescue Net::HTTPRequestTimeout
46
+ raise Coss::Errors::TimeoutError
47
+ end
48
+ code = response.code.to_i
49
+ if code.between?(200, 299)
50
+ (response.body.to_s.empty? ? nil : Coss::Types::SignTemplateList.load(response.body))
51
+ else
52
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
53
+ raise error_class.new(response.body, code: code)
54
+ end
55
+ end
56
+
57
+ # Documents with fields for roles (`client`, `company`) instead of named signers, made into requests by naming a
58
+ # signer per role. Fields by position or text anchor (resolved now). Can start empty and be built in the
59
+ # embedded builder (create a builder session).
60
+ #
61
+ # @param request_options [Hash]
62
+ # @param params [Coss::Sign::Templates::Types::CreateSignTemplateRequest]
63
+ # @option request_options [String] :base_url
64
+ # @option request_options [Hash{String => Object}] :additional_headers
65
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
66
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
67
+ # @option request_options [Integer] :timeout_in_seconds
68
+ #
69
+ # @example
70
+ # client.sign.templates.create(
71
+ # name: "Mutual NDA",
72
+ # documents: [{
73
+ # document_id: "sdoc_01k7c8m4q2f3e9v6t5r1n0p8yz"
74
+ # }],
75
+ # roles: [{
76
+ # key: "client",
77
+ # name: "Client"
78
+ # }, {
79
+ # key: "company",
80
+ # name: "Company"
81
+ # }],
82
+ # fields: [{
83
+ # type: "signature",
84
+ # anchor: "{{signature:client}}",
85
+ # role: "client",
86
+ # page: 1,
87
+ # x: 1.1,
88
+ # y: 1.1,
89
+ # width: 1.1,
90
+ # height: 1.1
91
+ # }, {
92
+ # type: "text",
93
+ # page: 1,
94
+ # x: 72,
95
+ # y: 140,
96
+ # width: 200,
97
+ # height: 18,
98
+ # role: "client",
99
+ # merge_key: "client_company"
100
+ # }, {
101
+ # type: "signature",
102
+ # anchor: "{{signature:company}}",
103
+ # role: "company",
104
+ # page: 1,
105
+ # x: 1.1,
106
+ # y: 1.1,
107
+ # width: 1.1,
108
+ # height: 1.1
109
+ # }]
110
+ # )
111
+ #
112
+ # @return [Coss::Types::SignTemplate]
113
+ def create(request_options: {}, **params)
114
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
115
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
116
+ request = Coss::Internal::JSON::Request.new(
117
+ base_url: request_options[:base_url],
118
+ method: "POST",
119
+ path: "v1/sign/templates",
120
+ headers: headers,
121
+ body: Coss::Sign::Templates::Types::CreateSignTemplateRequest.new(params).to_h,
122
+ request_options: request_options,
123
+ max_retries: 0
124
+ )
125
+ begin
126
+ response = @client.send(request)
127
+ rescue Net::HTTPRequestTimeout
128
+ raise Coss::Errors::TimeoutError
129
+ end
130
+ code = response.code.to_i
131
+ if code.between?(200, 299)
132
+ (response.body.to_s.empty? ? nil : Coss::Types::SignTemplate.load(response.body))
133
+ else
134
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
135
+ raise error_class.new(response.body, code: code)
136
+ end
137
+ end
138
+
139
+ # @param request_options [Hash]
140
+ # @param params [Hash]
141
+ # @option request_options [String] :base_url
142
+ # @option request_options [Hash{String => Object}] :additional_headers
143
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
144
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
145
+ # @option request_options [Integer] :timeout_in_seconds
146
+ # @option params [String] :id
147
+ #
148
+ # @example
149
+ # client.sign.templates.get(id: "stpl_01k7c8m4q2f3e9v6t5r1n0p8yz")
150
+ #
151
+ # @return [Coss::Types::SignTemplate]
152
+ def get(request_options: {}, **params)
153
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
154
+ request = Coss::Internal::JSON::Request.new(
155
+ base_url: request_options[:base_url],
156
+ method: "GET",
157
+ path: "v1/sign/templates/#{URI.encode_uri_component(params[:id].to_s)}",
158
+ request_options: request_options
159
+ )
160
+ begin
161
+ response = @client.send(request)
162
+ rescue Net::HTTPRequestTimeout
163
+ raise Coss::Errors::TimeoutError
164
+ end
165
+ code = response.code.to_i
166
+ if code.between?(200, 299)
167
+ (response.body.to_s.empty? ? nil : Coss::Types::SignTemplate.load(response.body))
168
+ else
169
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
170
+ raise error_class.new(response.body, code: code)
171
+ end
172
+ end
173
+
174
+ # Requests made from it, and its documents, stay.
175
+ #
176
+ # @param request_options [Hash]
177
+ # @param params [Hash]
178
+ # @option request_options [String] :base_url
179
+ # @option request_options [Hash{String => Object}] :additional_headers
180
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
181
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
182
+ # @option request_options [Integer] :timeout_in_seconds
183
+ # @option params [String] :id
184
+ #
185
+ # @example
186
+ # client.sign.templates.remove(id: "stpl_01k7c8m4q2f3e9v6t5r1n0p8yz")
187
+ #
188
+ # @return [Coss::Types::DeletedSignTemplate]
189
+ def remove(request_options: {}, **params)
190
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
191
+ request = Coss::Internal::JSON::Request.new(
192
+ base_url: request_options[:base_url],
193
+ method: "DELETE",
194
+ path: "v1/sign/templates/#{URI.encode_uri_component(params[:id].to_s)}",
195
+ request_options: request_options
196
+ )
197
+ begin
198
+ response = @client.send(request)
199
+ rescue Net::HTTPRequestTimeout
200
+ raise Coss::Errors::TimeoutError
201
+ end
202
+ code = response.code.to_i
203
+ if code.between?(200, 299)
204
+ (response.body.to_s.empty? ? nil : Coss::Types::DeletedSignTemplate.load(response.body))
205
+ else
206
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
207
+ raise error_class.new(response.body, code: code)
208
+ end
209
+ end
210
+
211
+ # Changes the fields given. `documents`, `roles` and `fields` each replace the whole list. Requests already made
212
+ # from it don't change.
213
+ #
214
+ # @param request_options [Hash]
215
+ # @param params [Coss::Sign::Templates::Types::UpdateSignTemplateRequest]
216
+ # @option request_options [String] :base_url
217
+ # @option request_options [Hash{String => Object}] :additional_headers
218
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
219
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
220
+ # @option request_options [Integer] :timeout_in_seconds
221
+ # @option params [String] :id
222
+ #
223
+ # @example
224
+ # client.sign.templates.update(
225
+ # id: "stpl_01k7c8m4q2f3e9v6t5r1n0p8yz",
226
+ # name: "Mutual NDA (2026)"
227
+ # )
228
+ #
229
+ # @return [Coss::Types::SignTemplate]
230
+ def update(request_options: {}, **params)
231
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
232
+ request_data = Coss::Sign::Templates::Types::UpdateSignTemplateRequest.new(params).to_h
233
+ non_body_param_names = %w[id]
234
+ body = request_data.except(*non_body_param_names)
235
+
236
+ request = Coss::Internal::JSON::Request.new(
237
+ base_url: request_options[:base_url],
238
+ method: "PATCH",
239
+ path: "v1/sign/templates/#{URI.encode_uri_component(params[:id].to_s)}",
240
+ body: body,
241
+ request_options: request_options,
242
+ max_retries: 0
243
+ )
244
+ begin
245
+ response = @client.send(request)
246
+ rescue Net::HTTPRequestTimeout
247
+ raise Coss::Errors::TimeoutError
248
+ end
249
+ code = response.code.to_i
250
+ if code.between?(200, 299)
251
+ (response.body.to_s.empty? ? nil : Coss::Types::SignTemplate.load(response.body))
252
+ else
253
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
254
+ raise error_class.new(response.body, code: code)
255
+ end
256
+ end
257
+
258
+ # A signature request with the template's documents and fields: name one signer for each role, and give its
259
+ # merge fields' values. Like creating a request, it is sent at once unless `send` is `false`, and an
260
+ # `Idempotency-Key` makes retries safe.
261
+ #
262
+ # @param request_options [Hash]
263
+ # @param params [Coss::Sign::Templates::Types::CreateSignRequestFromTemplateRequest]
264
+ # @option request_options [String] :base_url
265
+ # @option request_options [Hash{String => Object}] :additional_headers
266
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
267
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
268
+ # @option request_options [Integer] :timeout_in_seconds
269
+ # @option params [String] :id
270
+ # @option params [String, nil] :idempotency_key
271
+ #
272
+ # @example
273
+ # client.sign.templates.create_request(
274
+ # id: "stpl_01k7c8m4q2f3e9v6t5r1n0p8yz",
275
+ # idempotency_key: "welcome-user-123",
276
+ # signers: [{
277
+ # role: "client",
278
+ # name: "Ada Lovelace",
279
+ # email: "ada@example.com"
280
+ # }, {
281
+ # role: "company",
282
+ # name: "Grace Hopper",
283
+ # email: "grace@acme.com",
284
+ # delivery: "embedded"
285
+ # }],
286
+ # merge_fields: {
287
+ # client_company: "Analytical Engines Ltd"
288
+ # }
289
+ # )
290
+ #
291
+ # @return [Coss::Types::SignRequest]
292
+ def create_request(request_options: {}, **params)
293
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
294
+ request_data = Coss::Sign::Templates::Types::CreateSignRequestFromTemplateRequest.new(params).to_h
295
+ non_body_param_names = %w[id Idempotency-Key]
296
+ body = request_data.except(*non_body_param_names)
297
+
298
+ headers = {}
299
+ headers["Idempotency-Key"] = params[:idempotency_key] if params[:idempotency_key]
300
+
301
+ request = Coss::Internal::JSON::Request.new(
302
+ base_url: request_options[:base_url],
303
+ method: "POST",
304
+ path: "v1/sign/templates/#{URI.encode_uri_component(params[:id].to_s)}/requests",
305
+ headers: headers,
306
+ body: body,
307
+ request_options: request_options
308
+ )
309
+ begin
310
+ response = @client.send(request)
311
+ rescue Net::HTTPRequestTimeout
312
+ raise Coss::Errors::TimeoutError
313
+ end
314
+ code = response.code.to_i
315
+ if code.between?(200, 299)
316
+ (response.body.to_s.empty? ? nil : Coss::Types::SignRequest.load(response.body))
317
+ else
318
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
319
+ raise error_class.new(response.body, code: code)
320
+ end
321
+ end
322
+
323
+ # A short-lived link to the embedded builder for this template: upload documents, add roles, and drag fields
324
+ # onto pages. Embed it with `mountBuilder` from `coss/sign` (from an origin in your Sign settings'
325
+ # `allowed_origins`) for whoever edits the template.
326
+ #
327
+ # @param request_options [Hash]
328
+ # @param params [Coss::Sign::Templates::Types::CreateSignBuilderSessionRequest]
329
+ # @option request_options [String] :base_url
330
+ # @option request_options [Hash{String => Object}] :additional_headers
331
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
332
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
333
+ # @option request_options [Integer] :timeout_in_seconds
334
+ # @option params [String] :id
335
+ #
336
+ # @example
337
+ # client.sign.templates.create_builder_session(
338
+ # id: "stpl_01k7c8m4q2f3e9v6t5r1n0p8yz",
339
+ # expires_in: 3600
340
+ # )
341
+ #
342
+ # @return [Coss::Types::SignBuilderSession]
343
+ def create_builder_session(request_options: {}, **params)
344
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
345
+ request_data = Coss::Sign::Templates::Types::CreateSignBuilderSessionRequest.new(params).to_h
346
+ non_body_param_names = %w[id]
347
+ body = request_data.except(*non_body_param_names)
348
+
349
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
350
+ request = Coss::Internal::JSON::Request.new(
351
+ base_url: request_options[:base_url],
352
+ method: "POST",
353
+ path: "v1/sign/templates/#{URI.encode_uri_component(params[:id].to_s)}/builder_sessions",
354
+ headers: headers,
355
+ body: body,
356
+ request_options: request_options
357
+ )
358
+ begin
359
+ response = @client.send(request)
360
+ rescue Net::HTTPRequestTimeout
361
+ raise Coss::Errors::TimeoutError
362
+ end
363
+ code = response.code.to_i
364
+ if code.between?(200, 299)
365
+ (response.body.to_s.empty? ? nil : Coss::Types::SignBuilderSession.load(response.body))
366
+ else
367
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
368
+ raise error_class.new(response.body, code: code)
369
+ end
370
+ end
371
+ end
372
+ end
373
+ end
374
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Templates
6
+ module Types
7
+ class CreateSignBuilderSessionRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :expires_in, -> { Integer }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Templates
6
+ module Types
7
+ class CreateSignRequestFromTemplateRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "Idempotency-Key"
11
+
12
+ field :title, -> { String }, optional: true, nullable: false
13
+
14
+ field :message, -> { String }, optional: true, nullable: false
15
+
16
+ field :signers, -> { Internal::Types::Array[Coss::Sign::Templates::Types::CreateSignRequestFromTemplateRequestSignersItem] }, optional: false, nullable: false
17
+
18
+ field :merge_fields, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
19
+
20
+ field :signing_order, -> { Coss::Sign::Templates::Types::CreateSignRequestFromTemplateRequestSigningOrder }, optional: true, nullable: false
21
+
22
+ field :expires_at, -> { String }, optional: true, nullable: false
23
+
24
+ field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
25
+
26
+ field :reminder_interval_days, -> { Integer }, optional: true, nullable: false
27
+
28
+ field :send_, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "send"
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Templates
6
+ module Types
7
+ class CreateSignRequestFromTemplateRequestSignersItem < Internal::Types::Model
8
+ field :role, -> { String }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: false, nullable: false
11
+
12
+ field :email, -> { String }, optional: false, nullable: false
13
+
14
+ field :delivery, -> { Coss::Sign::Templates::Types::CreateSignRequestFromTemplateRequestSignersItemDelivery }, optional: true, nullable: false
15
+
16
+ field :order, -> { Integer }, optional: true, nullable: false
17
+
18
+ field :client_ref, -> { String }, optional: true, nullable: false
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end