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,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Messages
6
+ module Types
7
+ class SendInboxMessageRequestBcc < Internal::Types::Model
8
+ extend Coss::Internal::Types::Union
9
+
10
+ member -> { String }
11
+
12
+ member -> { Internal::Types::Array[String] }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Messages
6
+ module Types
7
+ class SendInboxMessageRequestCc < Internal::Types::Model
8
+ extend Coss::Internal::Types::Union
9
+
10
+ member -> { String }
11
+
12
+ member -> { Internal::Types::Array[String] }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Messages
6
+ module Types
7
+ class SendInboxMessageRequestTagsItem < Internal::Types::Model
8
+ field :name, -> { String }, optional: false, nullable: false
9
+
10
+ field :value, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Messages
6
+ module Types
7
+ class SendInboxMessageRequestTo < Internal::Types::Model
8
+ extend Coss::Internal::Types::Union
9
+
10
+ member -> { String }
11
+
12
+ member -> { Internal::Types::Array[String] }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,147 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Threads
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 inbox's conversations, the one with the latest message first, with a preview of that message. A thread
15
+ # whose `last_inbound_at` equals its `last_message_at` awaits a reply. Pass the last `id` as `after` to get the
16
+ # next page while `has_more` is true.
17
+ #
18
+ # @param request_options [Hash]
19
+ # @param params [Hash]
20
+ # @option request_options [String] :base_url
21
+ # @option request_options [Hash{String => Object}] :additional_headers
22
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
23
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
24
+ # @option request_options [Integer] :timeout_in_seconds
25
+ # @option params [String] :inbox_id
26
+ # @option params [Integer, nil] :limit
27
+ # @option params [String, nil] :after
28
+ #
29
+ # @example
30
+ # client.inboxes.threads.list(inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz")
31
+ #
32
+ # @return [Coss::Types::InboxThreadList]
33
+ def list(request_options: {}, **params)
34
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
35
+ query_params = {}
36
+ query_params["limit"] = params[:limit] if params.key?(:limit)
37
+ query_params["after"] = params[:after] if params.key?(:after)
38
+
39
+ request = Coss::Internal::JSON::Request.new(
40
+ base_url: request_options[:base_url],
41
+ method: "GET",
42
+ path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/threads",
43
+ query: query_params,
44
+ request_options: request_options
45
+ )
46
+ begin
47
+ response = @client.send(request)
48
+ rescue Net::HTTPRequestTimeout
49
+ raise Coss::Errors::TimeoutError
50
+ end
51
+ code = response.code.to_i
52
+ if code.between?(200, 299)
53
+ (response.body.to_s.empty? ? nil : Coss::Types::InboxThreadList.load(response.body))
54
+ else
55
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
56
+ raise error_class.new(response.body, code: code)
57
+ end
58
+ end
59
+
60
+ # The conversation with its latest messages, oldest first, each with its text and `extracted_text` (its own
61
+ # words, without the quoted conversation): what an agent reads before it replies. HTML is the sender's: sanitize
62
+ # it before showing it to anyone.
63
+ #
64
+ # @param request_options [Hash]
65
+ # @param params [Hash]
66
+ # @option request_options [String] :base_url
67
+ # @option request_options [Hash{String => Object}] :additional_headers
68
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
69
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
70
+ # @option request_options [Integer] :timeout_in_seconds
71
+ # @option params [String] :inbox_id
72
+ # @option params [String] :thread_id
73
+ #
74
+ # @example
75
+ # client.inboxes.threads.get(
76
+ # inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz",
77
+ # thread_id: "thread_01k7c8m4r0c2b8w9y3d5f6g7h8"
78
+ # )
79
+ #
80
+ # @return [Coss::Types::InboxThread]
81
+ def get(request_options: {}, **params)
82
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
83
+ request = Coss::Internal::JSON::Request.new(
84
+ base_url: request_options[:base_url],
85
+ method: "GET",
86
+ path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/threads/#{URI.encode_uri_component(params[:thread_id].to_s)}",
87
+ request_options: request_options
88
+ )
89
+ begin
90
+ response = @client.send(request)
91
+ rescue Net::HTTPRequestTimeout
92
+ raise Coss::Errors::TimeoutError
93
+ end
94
+ code = response.code.to_i
95
+ if code.between?(200, 299)
96
+ (response.body.to_s.empty? ? nil : Coss::Types::InboxThread.load(response.body))
97
+ else
98
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
99
+ raise error_class.new(response.body, code: code)
100
+ end
101
+ end
102
+
103
+ # Removes the conversation from the inbox. Its received emails and emails stay in the environment until their
104
+ # retention ends; a later reply starts a new thread.
105
+ #
106
+ # @param request_options [Hash]
107
+ # @param params [Hash]
108
+ # @option request_options [String] :base_url
109
+ # @option request_options [Hash{String => Object}] :additional_headers
110
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
111
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
112
+ # @option request_options [Integer] :timeout_in_seconds
113
+ # @option params [String] :inbox_id
114
+ # @option params [String] :thread_id
115
+ #
116
+ # @example
117
+ # client.inboxes.threads.delete(
118
+ # inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz",
119
+ # thread_id: "thread_01k7c8m4r0c2b8w9y3d5f6g7h8"
120
+ # )
121
+ #
122
+ # @return [Coss::Types::DeletedInboxThread]
123
+ def delete(request_options: {}, **params)
124
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
125
+ request = Coss::Internal::JSON::Request.new(
126
+ base_url: request_options[:base_url],
127
+ method: "DELETE",
128
+ path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/threads/#{URI.encode_uri_component(params[:thread_id].to_s)}",
129
+ request_options: request_options
130
+ )
131
+ begin
132
+ response = @client.send(request)
133
+ rescue Net::HTTPRequestTimeout
134
+ raise Coss::Errors::TimeoutError
135
+ end
136
+ code = response.code.to_i
137
+ if code.between?(200, 299)
138
+ (response.body.to_s.empty? ? nil : Coss::Types::DeletedInboxThread.load(response.body))
139
+ else
140
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
141
+ raise error_class.new(response.body, code: code)
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Threads
6
+ module Types
7
+ class DeleteThreadsRequest < Internal::Types::Model
8
+ field :inbox_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :thread_id, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Threads
6
+ module Types
7
+ class GetThreadsRequest < Internal::Types::Model
8
+ field :inbox_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :thread_id, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Threads
6
+ module Types
7
+ class ListThreadsRequest < Internal::Types::Model
8
+ field :inbox_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :limit, -> { Integer }, optional: true, nullable: false
11
+
12
+ field :after, -> { String }, optional: true, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Types
6
+ class CreateInboxRequest < Internal::Types::Model
7
+ field :username, -> { String }, optional: true, nullable: false
8
+
9
+ field :domain, -> { String }, optional: true, nullable: false
10
+
11
+ field :display_name, -> { String }, optional: true, nullable: false
12
+
13
+ field :client_id, -> { String }, optional: true, nullable: false
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Types
6
+ class DeleteInboxesRequest < Internal::Types::Model
7
+ field :inbox_id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Types
6
+ class GetInboxesRequest < Internal::Types::Model
7
+ field :inbox_id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Types
6
+ class ListInboxesRequest < Internal::Types::Model
7
+ field :limit, -> { Integer }, optional: true, nullable: false
8
+
9
+ field :after, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Inboxes
5
+ module Types
6
+ class UpdateInboxRequest < Internal::Types::Model
7
+ field :inbox_id, -> { String }, optional: false, nullable: false
8
+
9
+ field :display_name, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -239,6 +239,52 @@ module Coss
239
239
  end
240
240
  end
241
241
 
242
+ # Phone intelligence on its own: whether the number exists in its country's numbering plan, its line type (mobile,
243
+ # landline, fixed or non-fixed VoIP, toll-free…) and carrier, and the last SIM swap where carriers share it.
244
+ # Stateless. A failed lookup is reported in `degraded`. Each live check that gets an answer is billed
245
+ # (`risk.phone_checks`; plans include some every month, and Free stops at its allowance); invalid numbers, failed
246
+ # lookups and sandbox checks are free. Limited per organization as well as per key. Sandbox keys see the fictional
247
+ # numbers `+1 202 555 01xx` (`0101` landline, `0102` non-fixed VoIP, `0103` fixed VoIP, `0104` a recent SIM swap,
248
+ # `0199` invalid, the rest mobile).
249
+ #
250
+ # @param request_options [Hash]
251
+ # @param params [Coss::Risk::Types::RiskPhoneCheckRequest]
252
+ # @option request_options [String] :base_url
253
+ # @option request_options [Hash{String => Object}] :additional_headers
254
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
255
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
256
+ # @option request_options [Integer] :timeout_in_seconds
257
+ #
258
+ # @example
259
+ # client.risk.check_phone(phone: "+14155550123")
260
+ #
261
+ # @return [Coss::Types::RiskPhoneCheck]
262
+ def check_phone(request_options: {}, **params)
263
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
264
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
265
+ request = Coss::Internal::JSON::Request.new(
266
+ base_url: request_options[:base_url],
267
+ method: "POST",
268
+ path: "v1/risk/phone/check",
269
+ headers: headers,
270
+ body: Coss::Risk::Types::RiskPhoneCheckRequest.new(params).to_h,
271
+ request_options: request_options,
272
+ max_retries: 0
273
+ )
274
+ begin
275
+ response = @client.send(request)
276
+ rescue Net::HTTPRequestTimeout
277
+ raise Coss::Errors::TimeoutError
278
+ end
279
+ code = response.code.to_i
280
+ if code.between?(200, 299)
281
+ (response.body.to_s.empty? ? nil : Coss::Types::RiskPhoneCheck.load(response.body))
282
+ else
283
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
284
+ raise error_class.new(response.body, code: code)
285
+ end
286
+ end
287
+
242
288
  # Scores text people post on your platform (a profile bio, a comment, a listing) for spam, phishing, malware and
243
289
  # fraud with an AI model, with zero data retention. Returns scores only: you decide what they mean. Neither the
244
290
  # text nor the scores are stored, and request logs keep no body for this endpoint. Takes up to 3 seconds; a
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Risk
5
+ module Types
6
+ class RiskPhoneCheckRequest < Internal::Types::Model
7
+ field :phone, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ class Client
6
+ # @param client [Coss::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # @return [Coss::Documents::Client]
14
+ def documents
15
+ @documents ||= Coss::Sign::Documents::Client.new(client: @client)
16
+ end
17
+
18
+ # @return [Coss::Requests::Client]
19
+ def requests
20
+ @requests ||= Coss::Sign::Requests::Client.new(client: @client)
21
+ end
22
+
23
+ # @return [Coss::Sessions::Client]
24
+ def sessions
25
+ @sessions ||= Coss::Sign::Sessions::Client.new(client: @client)
26
+ end
27
+
28
+ # @return [Coss::Settings::Client]
29
+ def settings
30
+ @settings ||= Coss::Sign::Settings::Client.new(client: @client)
31
+ end
32
+
33
+ # @return [Coss::Templates::Client]
34
+ def templates
35
+ @templates ||= Coss::Sign::Templates::Client.new(client: @client)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,177 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Documents
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
+ # Documents uploaded to the API key's environment, newest first. Pass the last `id` as `after` to get the next
15
+ # page while `has_more` is true.
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
+ # @option params [Integer, nil] :limit
25
+ # @option params [String, nil] :after
26
+ #
27
+ # @example
28
+ # client.sign.documents.list
29
+ #
30
+ # @return [Coss::Types::SignDocumentList]
31
+ def list(request_options: {}, **params)
32
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
33
+ query_params = {}
34
+ query_params["limit"] = params[:limit] if params.key?(:limit)
35
+ query_params["after"] = params[:after] if params.key?(:after)
36
+
37
+ request = Coss::Internal::JSON::Request.new(
38
+ base_url: request_options[:base_url],
39
+ method: "GET",
40
+ path: "v1/sign/documents",
41
+ query: query_params,
42
+ request_options: request_options
43
+ )
44
+ begin
45
+ response = @client.send(request)
46
+ rescue Net::HTTPRequestTimeout
47
+ raise Coss::Errors::TimeoutError
48
+ end
49
+ code = response.code.to_i
50
+ if code.between?(200, 299)
51
+ (response.body.to_s.empty? ? nil : Coss::Types::SignDocumentList.load(response.body))
52
+ else
53
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
54
+ raise error_class.new(response.body, code: code)
55
+ end
56
+ end
57
+
58
+ # Uploads a PDF (base64, at most 25 MB and 500 pages, not password-protected) for signature requests to use. The
59
+ # response lists each page's size and the text anchors found in it (`{{signature:signer_1}}`), which fields can
60
+ # be placed by. Requests can also take PDFs inline.
61
+ #
62
+ # @param request_options [Hash]
63
+ # @param params [Coss::Sign::Documents::Types::UploadSignDocumentRequest]
64
+ # @option request_options [String] :base_url
65
+ # @option request_options [Hash{String => Object}] :additional_headers
66
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
67
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
68
+ # @option request_options [Integer] :timeout_in_seconds
69
+ #
70
+ # @example
71
+ # client.sign.documents.upload(
72
+ # filename: "agreement.pdf",
73
+ # content: "JVBERi0xLjcKJYGBgYEKCjEgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFsgNCAwIFIgXQovQ291bnQgMQo+PgplbmRvYmoKCjIgMCBvYmoKPDwKL1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDEgMCBSCj4+CmVuZG9iagoKMyAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL0Jhc2VGb250IC9IZWx2ZXRpY2EKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCgo0IDAgb2JqCjw8Ci9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA8PAovRm9udCA8PAovSGVsdmV0aWNhLTcwOTg0ODA3ODkgMyAwIFIKPj4KL1hPYmplY3QgPDwKPj4KL0V4dEdTdGF0ZSA8PAo+Pgo+PgovTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCi9Bbm5vdHMgWyBdCi9Db250ZW50cyBbIDUgMCBSIF0KPj4KZW5kb2JqCgo1IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggMTIwCj4+CnN0cmVhbQp4nG2KMQrCQBBF+znF1II4O7s7fxckYEjEwkaYC4hEiWgREc9vtLCSV/3330Stk/CHx4VWu+H2Gp7j6biE1JKKoFQOyn4mTex7Ct80MJQhwn6ndY5WDdZbQEKGWo4bFbQzf56fm3fexoAOXcN+JV9Q73SgN3RWIBIKZW5kc3RyZWFtCmVuZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDAwNzYgMDAwMDAgbiAKMDAwMDAwMDEyNiAwMDAwMCBuIAowMDAwMDAwMjI0IDAwMDAwIG4gCjAwMDAwMDA0MTkgMDAwMDAgbiAKCnRyYWlsZXIKPDwKL1NpemUgNgovUm9vdCAyIDAgUgo+PgoKc3RhcnR4cmVmCjYxMgolJUVPRg=="
74
+ # )
75
+ #
76
+ # @return [Coss::Types::SignDocument]
77
+ def upload(request_options: {}, **params)
78
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
79
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
80
+ request = Coss::Internal::JSON::Request.new(
81
+ base_url: request_options[:base_url],
82
+ method: "POST",
83
+ path: "v1/sign/documents",
84
+ headers: headers,
85
+ body: Coss::Sign::Documents::Types::UploadSignDocumentRequest.new(params).to_h,
86
+ request_options: request_options,
87
+ max_retries: 0
88
+ )
89
+ begin
90
+ response = @client.send(request)
91
+ rescue Net::HTTPRequestTimeout
92
+ raise Coss::Errors::TimeoutError
93
+ end
94
+ code = response.code.to_i
95
+ if code.between?(200, 299)
96
+ (response.body.to_s.empty? ? nil : Coss::Types::SignDocument.load(response.body))
97
+ else
98
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
99
+ raise error_class.new(response.body, code: code)
100
+ end
101
+ end
102
+
103
+ # @param request_options [Hash]
104
+ # @param params [Hash]
105
+ # @option request_options [String] :base_url
106
+ # @option request_options [Hash{String => Object}] :additional_headers
107
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
108
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
109
+ # @option request_options [Integer] :timeout_in_seconds
110
+ # @option params [String] :id
111
+ #
112
+ # @example
113
+ # client.sign.documents.get(id: "sdoc_01k7c8m4q2f3e9v6t5r1n0p8yz")
114
+ #
115
+ # @return [Coss::Types::SignDocument]
116
+ def get(request_options: {}, **params)
117
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
118
+ request = Coss::Internal::JSON::Request.new(
119
+ base_url: request_options[:base_url],
120
+ method: "GET",
121
+ path: "v1/sign/documents/#{URI.encode_uri_component(params[:id].to_s)}",
122
+ request_options: request_options
123
+ )
124
+ begin
125
+ response = @client.send(request)
126
+ rescue Net::HTTPRequestTimeout
127
+ raise Coss::Errors::TimeoutError
128
+ end
129
+ code = response.code.to_i
130
+ if code.between?(200, 299)
131
+ (response.body.to_s.empty? ? nil : Coss::Types::SignDocument.load(response.body))
132
+ else
133
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
134
+ raise error_class.new(response.body, code: code)
135
+ end
136
+ end
137
+
138
+ # Deletes an uploaded document and its file. Documents a request uses can't be deleted.
139
+ #
140
+ # @param request_options [Hash]
141
+ # @param params [Hash]
142
+ # @option request_options [String] :base_url
143
+ # @option request_options [Hash{String => Object}] :additional_headers
144
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
145
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
146
+ # @option request_options [Integer] :timeout_in_seconds
147
+ # @option params [String] :id
148
+ #
149
+ # @example
150
+ # client.sign.documents.remove(id: "sdoc_01k7c8m4q2f3e9v6t5r1n0p8yz")
151
+ #
152
+ # @return [Coss::Types::DeletedSignDocument]
153
+ def remove(request_options: {}, **params)
154
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
155
+ request = Coss::Internal::JSON::Request.new(
156
+ base_url: request_options[:base_url],
157
+ method: "DELETE",
158
+ path: "v1/sign/documents/#{URI.encode_uri_component(params[:id].to_s)}",
159
+ request_options: request_options
160
+ )
161
+ begin
162
+ response = @client.send(request)
163
+ rescue Net::HTTPRequestTimeout
164
+ raise Coss::Errors::TimeoutError
165
+ end
166
+ code = response.code.to_i
167
+ if code.between?(200, 299)
168
+ (response.body.to_s.empty? ? nil : Coss::Types::DeletedSignDocument.load(response.body))
169
+ else
170
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
171
+ raise error_class.new(response.body, code: code)
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Documents
6
+ module Types
7
+ class GetDocumentsRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Documents
6
+ module Types
7
+ class ListDocumentsRequest < Internal::Types::Model
8
+ field :limit, -> { Integer }, optional: true, nullable: false
9
+
10
+ field :after, -> { String }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Sign
5
+ module Documents
6
+ module Types
7
+ class RemoveDocumentsRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end