coss 0.1.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 (1057) hide show
  1. checksums.yaml +7 -0
  2. data/.fernignore +11 -0
  3. data/.rubocop.yml +103 -0
  4. data/CHANGELOG.md +7 -0
  5. data/CONTRIBUTING.md +120 -0
  6. data/LICENSE +21 -0
  7. data/README.md +29 -0
  8. data/Rakefile +20 -0
  9. data/custom.gemspec.rb +11 -0
  10. data/lib/coss/api_key/client.rb +50 -0
  11. data/lib/coss/audit_events/client.rb +110 -0
  12. data/lib/coss/audit_events/types/get_audit_events_request.rb +11 -0
  13. data/lib/coss/audit_events/types/list_audit_events_request.rb +27 -0
  14. data/lib/coss/billing/client.rb +114 -0
  15. data/lib/coss/billing/credits/client.rb +63 -0
  16. data/lib/coss/billing/credits/types/list_credits_request.rb +17 -0
  17. data/lib/coss/billing/credits/types/list_credits_request_status.rb +16 -0
  18. data/lib/coss/billing/invoices/client.rb +99 -0
  19. data/lib/coss/billing/invoices/types/get_invoices_request.rb +13 -0
  20. data/lib/coss/billing/invoices/types/list_invoices_request.rb +17 -0
  21. data/lib/coss/billing/invoices/types/list_invoices_request_status.rb +18 -0
  22. data/lib/coss/billing/types/usage_billing_request.rb +19 -0
  23. data/lib/coss/billing/types/usage_billing_request_granularity.rb +15 -0
  24. data/lib/coss/billing/types/usage_billing_request_group_by.rb +16 -0
  25. data/lib/coss/billing/types/usage_billing_request_meter.rb +20 -0
  26. data/lib/coss/client.rb +100 -0
  27. data/lib/coss/domains/client.rb +223 -0
  28. data/lib/coss/domains/dmarc/client.rb +61 -0
  29. data/lib/coss/domains/dmarc/reports/client.rb +107 -0
  30. data/lib/coss/domains/dmarc/reports/types/get_reports_request.rb +17 -0
  31. data/lib/coss/domains/dmarc/reports/types/list_reports_request.rb +19 -0
  32. data/lib/coss/domains/dmarc/types/get_dmarc_request.rb +13 -0
  33. data/lib/coss/domains/receiving/client.rb +105 -0
  34. data/lib/coss/domains/receiving/types/create_receiving_domain_request.rb +15 -0
  35. data/lib/coss/domains/receiving/types/delete_receiving_request.rb +13 -0
  36. data/lib/coss/domains/tracking/client.rb +105 -0
  37. data/lib/coss/domains/tracking/types/create_tracking_domain_request.rb +15 -0
  38. data/lib/coss/domains/tracking/types/delete_tracking_request.rb +13 -0
  39. data/lib/coss/domains/types/create_domain_request.rb +11 -0
  40. data/lib/coss/domains/types/delete_domains_request.rb +11 -0
  41. data/lib/coss/domains/types/get_domains_request.rb +11 -0
  42. data/lib/coss/domains/types/verify_domains_request.rb +11 -0
  43. data/lib/coss/email/audiences/client.rb +343 -0
  44. data/lib/coss/email/audiences/types/add_audience_contacts_request.rb +15 -0
  45. data/lib/coss/email/audiences/types/create_audience_request.rb +13 -0
  46. data/lib/coss/email/audiences/types/get_audiences_request.rb +13 -0
  47. data/lib/coss/email/audiences/types/list_audiences_request.rb +15 -0
  48. data/lib/coss/email/audiences/types/list_contacts_audiences_request.rb +17 -0
  49. data/lib/coss/email/audiences/types/remove_audiences_request.rb +13 -0
  50. data/lib/coss/email/audiences/types/remove_contact_audiences_request.rb +15 -0
  51. data/lib/coss/email/audiences/types/remove_contact_audiences_response.rb +19 -0
  52. data/lib/coss/email/audiences/types/remove_contact_audiences_response_object.rb +15 -0
  53. data/lib/coss/email/audiences/types/update_audience_request.rb +15 -0
  54. data/lib/coss/email/broadcasts/client.rb +495 -0
  55. data/lib/coss/email/broadcasts/types/cancel_broadcasts_request.rb +13 -0
  56. data/lib/coss/email/broadcasts/types/create_broadcast_request.rb +41 -0
  57. data/lib/coss/email/broadcasts/types/create_broadcast_request_tracking.rb +15 -0
  58. data/lib/coss/email/broadcasts/types/get_broadcasts_request.rb +13 -0
  59. data/lib/coss/email/broadcasts/types/list_broadcasts_request.rb +17 -0
  60. data/lib/coss/email/broadcasts/types/list_broadcasts_request_status.rb +21 -0
  61. data/lib/coss/email/broadcasts/types/list_emails_broadcasts_request.rb +17 -0
  62. data/lib/coss/email/broadcasts/types/pause_broadcasts_request.rb +13 -0
  63. data/lib/coss/email/broadcasts/types/remove_broadcasts_request.rb +13 -0
  64. data/lib/coss/email/broadcasts/types/resume_broadcasts_request.rb +13 -0
  65. data/lib/coss/email/broadcasts/types/send_broadcast_request.rb +15 -0
  66. data/lib/coss/email/broadcasts/types/test_broadcast_request.rb +17 -0
  67. data/lib/coss/email/broadcasts/types/update_broadcast_request.rb +37 -0
  68. data/lib/coss/email/broadcasts/types/update_broadcast_request_tracking.rb +15 -0
  69. data/lib/coss/email/client.rb +509 -0
  70. data/lib/coss/email/contacts/client.rb +511 -0
  71. data/lib/coss/email/contacts/properties/client.rb +214 -0
  72. data/lib/coss/email/contacts/properties/types/create_contact_property_request.rb +19 -0
  73. data/lib/coss/email/contacts/properties/types/create_contact_property_request_fallback.rb +21 -0
  74. data/lib/coss/email/contacts/properties/types/create_contact_property_request_type.rb +20 -0
  75. data/lib/coss/email/contacts/properties/types/get_properties_request.rb +15 -0
  76. data/lib/coss/email/contacts/properties/types/remove_properties_request.rb +15 -0
  77. data/lib/coss/email/contacts/properties/types/update_contact_property_request.rb +17 -0
  78. data/lib/coss/email/contacts/properties/types/update_contact_property_request_fallback.rb +21 -0
  79. data/lib/coss/email/contacts/types/create_preference_links_request.rb +15 -0
  80. data/lib/coss/email/contacts/types/export_contacts_request.rb +15 -0
  81. data/lib/coss/email/contacts/types/export_contacts_request_status.rb +17 -0
  82. data/lib/coss/email/contacts/types/get_contacts_request.rb +13 -0
  83. data/lib/coss/email/contacts/types/get_topics_contacts_request.rb +13 -0
  84. data/lib/coss/email/contacts/types/import_contacts_request.rb +15 -0
  85. data/lib/coss/email/contacts/types/import_contacts_request_contacts_item.rb +21 -0
  86. data/lib/coss/email/contacts/types/import_contacts_request_contacts_item_properties_value.rb +19 -0
  87. data/lib/coss/email/contacts/types/list_contacts_request.rb +21 -0
  88. data/lib/coss/email/contacts/types/list_contacts_request_status.rb +17 -0
  89. data/lib/coss/email/contacts/types/remove_contacts_request.rb +13 -0
  90. data/lib/coss/email/contacts/types/resend_confirmation_contacts_request.rb +13 -0
  91. data/lib/coss/email/contacts/types/update_contact_request.rb +23 -0
  92. data/lib/coss/email/contacts/types/update_contact_request_properties_value.rb +19 -0
  93. data/lib/coss/email/contacts/types/update_contact_request_status.rb +16 -0
  94. data/lib/coss/email/contacts/types/update_contact_request_topics_item.rb +15 -0
  95. data/lib/coss/email/contacts/types/update_contact_request_topics_item_status.rb +16 -0
  96. data/lib/coss/email/contacts/types/update_contact_topics_request.rb +15 -0
  97. data/lib/coss/email/contacts/types/update_contact_topics_request_topics_item.rb +15 -0
  98. data/lib/coss/email/contacts/types/update_contact_topics_request_topics_item_status.rb +16 -0
  99. data/lib/coss/email/contacts/types/upsert_contact_request.rb +27 -0
  100. data/lib/coss/email/contacts/types/upsert_contact_request_properties_value.rb +19 -0
  101. data/lib/coss/email/contacts/types/upsert_contact_request_status.rb +16 -0
  102. data/lib/coss/email/contacts/types/upsert_contact_request_topics_item.rb +15 -0
  103. data/lib/coss/email/contacts/types/upsert_contact_request_topics_item_status.rb +16 -0
  104. data/lib/coss/email/dedicated_ips/client.rb +54 -0
  105. data/lib/coss/email/marketing_settings/client.rb +88 -0
  106. data/lib/coss/email/marketing_settings/types/update_marketing_settings_request.rb +27 -0
  107. data/lib/coss/email/received/client.rb +249 -0
  108. data/lib/coss/email/received/types/delete_received_request.rb +13 -0
  109. data/lib/coss/email/received/types/get_attachment_received_request.rb +15 -0
  110. data/lib/coss/email/received/types/get_raw_received_request.rb +13 -0
  111. data/lib/coss/email/received/types/get_received_request.rb +13 -0
  112. data/lib/coss/email/received/types/list_received_request.rb +15 -0
  113. data/lib/coss/email/segments/client.rb +284 -0
  114. data/lib/coss/email/segments/types/create_segment_request.rb +15 -0
  115. data/lib/coss/email/segments/types/get_segments_request.rb +13 -0
  116. data/lib/coss/email/segments/types/list_contacts_segments_request.rb +17 -0
  117. data/lib/coss/email/segments/types/list_segments_request.rb +15 -0
  118. data/lib/coss/email/segments/types/remove_segments_request.rb +13 -0
  119. data/lib/coss/email/segments/types/update_segment_request.rb +17 -0
  120. data/lib/coss/email/storage/client.rb +95 -0
  121. data/lib/coss/email/storage/types/update_storage_settings_request.rb +13 -0
  122. data/lib/coss/email/storage/types/update_storage_settings_request_content_storage.rb +16 -0
  123. data/lib/coss/email/suppressions/client.rb +316 -0
  124. data/lib/coss/email/suppressions/types/check_suppressions_request.rb +17 -0
  125. data/lib/coss/email/suppressions/types/check_suppressions_request_stream.rb +16 -0
  126. data/lib/coss/email/suppressions/types/create_suppression_request.rb +15 -0
  127. data/lib/coss/email/suppressions/types/create_suppression_request_scope.rb +20 -0
  128. data/lib/coss/email/suppressions/types/create_suppression_request_scope_one.rb +15 -0
  129. data/lib/coss/email/suppressions/types/create_suppression_request_scope_zero.rb +15 -0
  130. data/lib/coss/email/suppressions/types/export_suppressions_request.rb +15 -0
  131. data/lib/coss/email/suppressions/types/export_suppressions_request_reason.rb +19 -0
  132. data/lib/coss/email/suppressions/types/get_suppressions_request.rb +13 -0
  133. data/lib/coss/email/suppressions/types/import_suppressions_request.rb +13 -0
  134. data/lib/coss/email/suppressions/types/import_suppressions_request_suppressions_item.rb +15 -0
  135. data/lib/coss/email/suppressions/types/list_suppressions_request.rb +19 -0
  136. data/lib/coss/email/suppressions/types/remove_suppressions_request.rb +13 -0
  137. data/lib/coss/email/templates/client.rb +455 -0
  138. data/lib/coss/email/templates/types/create_email_template_request.rb +25 -0
  139. data/lib/coss/email/templates/types/delete_templates_request.rb +13 -0
  140. data/lib/coss/email/templates/types/get_draft_templates_request.rb +13 -0
  141. data/lib/coss/email/templates/types/get_templates_request.rb +13 -0
  142. data/lib/coss/email/templates/types/list_templates_request.rb +15 -0
  143. data/lib/coss/email/templates/types/publish_email_template_request.rb +15 -0
  144. data/lib/coss/email/templates/types/render_email_template_request.rb +19 -0
  145. data/lib/coss/email/templates/types/update_email_template_draft_request.rb +23 -0
  146. data/lib/coss/email/templates/types/update_email_template_request.rb +19 -0
  147. data/lib/coss/email/templates/versions/client.rb +149 -0
  148. data/lib/coss/email/templates/versions/types/get_versions_request.rb +17 -0
  149. data/lib/coss/email/templates/versions/types/list_versions_request.rb +19 -0
  150. data/lib/coss/email/templates/versions/types/restore_versions_request.rb +17 -0
  151. data/lib/coss/email/topics/client.rb +222 -0
  152. data/lib/coss/email/topics/types/create_topic_request.rb +23 -0
  153. data/lib/coss/email/topics/types/create_topic_request_default_subscription.rb +16 -0
  154. data/lib/coss/email/topics/types/create_topic_request_visibility.rb +16 -0
  155. data/lib/coss/email/topics/types/get_topics_request.rb +13 -0
  156. data/lib/coss/email/topics/types/list_topics_request.rb +15 -0
  157. data/lib/coss/email/topics/types/remove_topics_request.rb +13 -0
  158. data/lib/coss/email/topics/types/update_topic_request.rb +23 -0
  159. data/lib/coss/email/topics/types/update_topic_request_default_subscription.rb +16 -0
  160. data/lib/coss/email/topics/types/update_topic_request_visibility.rb +16 -0
  161. data/lib/coss/email/tracking/client.rb +221 -0
  162. data/lib/coss/email/tracking/types/remove_category_tracking_request.rb +13 -0
  163. data/lib/coss/email/tracking/types/update_category_tracking_request.rb +15 -0
  164. data/lib/coss/email/types/cancel_email_request.rb +11 -0
  165. data/lib/coss/email/types/get_batch_email_request.rb +11 -0
  166. data/lib/coss/email/types/get_email_request.rb +11 -0
  167. data/lib/coss/email/types/list_email_request.rb +29 -0
  168. data/lib/coss/email/types/list_events_email_request.rb +11 -0
  169. data/lib/coss/email/types/list_links_email_request.rb +11 -0
  170. data/lib/coss/email/types/reschedule_email_request.rb +13 -0
  171. data/lib/coss/email/types/send_email_batch_request.rb +13 -0
  172. data/lib/coss/email/types/send_email_body.rb +13 -0
  173. data/lib/coss/environment/client.rb +50 -0
  174. data/lib/coss/environment.rb +7 -0
  175. data/lib/coss/errors/api_error.rb +8 -0
  176. data/lib/coss/errors/client_error.rb +17 -0
  177. data/lib/coss/errors/redirect_error.rb +8 -0
  178. data/lib/coss/errors/response_error.rb +42 -0
  179. data/lib/coss/errors/server_error.rb +11 -0
  180. data/lib/coss/errors/timeout_error.rb +8 -0
  181. data/lib/coss/hooks/applications/client.rb +228 -0
  182. data/lib/coss/hooks/applications/types/create_hook_application_request.rb +17 -0
  183. data/lib/coss/hooks/applications/types/delete_applications_request.rb +13 -0
  184. data/lib/coss/hooks/applications/types/get_applications_request.rb +13 -0
  185. data/lib/coss/hooks/applications/types/list_applications_request.rb +15 -0
  186. data/lib/coss/hooks/applications/types/update_hook_application_request.rb +19 -0
  187. data/lib/coss/hooks/client.rb +44 -0
  188. data/lib/coss/hooks/deliveries/client.rb +143 -0
  189. data/lib/coss/hooks/deliveries/types/get_deliveries_request.rb +15 -0
  190. data/lib/coss/hooks/deliveries/types/list_attempts_deliveries_request.rb +15 -0
  191. data/lib/coss/hooks/deliveries/types/retry_deliveries_request.rb +15 -0
  192. data/lib/coss/hooks/endpoints/client.rb +522 -0
  193. data/lib/coss/hooks/endpoints/types/create_hook_endpoint_request.rb +27 -0
  194. data/lib/coss/hooks/endpoints/types/delete_endpoints_request.rb +15 -0
  195. data/lib/coss/hooks/endpoints/types/get_endpoints_request.rb +15 -0
  196. data/lib/coss/hooks/endpoints/types/get_recovery_endpoints_request.rb +17 -0
  197. data/lib/coss/hooks/endpoints/types/get_secret_endpoints_request.rb +15 -0
  198. data/lib/coss/hooks/endpoints/types/list_deliveries_endpoints_request.rb +21 -0
  199. data/lib/coss/hooks/endpoints/types/list_deliveries_endpoints_request_status.rb +17 -0
  200. data/lib/coss/hooks/endpoints/types/list_endpoints_request.rb +13 -0
  201. data/lib/coss/hooks/endpoints/types/recover_hook_endpoint_request.rb +17 -0
  202. data/lib/coss/hooks/endpoints/types/roll_hook_endpoint_secret_request.rb +17 -0
  203. data/lib/coss/hooks/endpoints/types/send_hook_test_request.rb +19 -0
  204. data/lib/coss/hooks/endpoints/types/update_hook_endpoint_request.rb +27 -0
  205. data/lib/coss/hooks/event_types/client.rb +232 -0
  206. data/lib/coss/hooks/event_types/types/archive_event_types_request.rb +13 -0
  207. data/lib/coss/hooks/event_types/types/create_hook_event_type_request.rb +19 -0
  208. data/lib/coss/hooks/event_types/types/get_event_types_request.rb +13 -0
  209. data/lib/coss/hooks/event_types/types/list_event_types_request.rb +17 -0
  210. data/lib/coss/hooks/event_types/types/list_event_types_request_include_archived.rb +16 -0
  211. data/lib/coss/hooks/event_types/types/update_hook_event_type_request.rb +21 -0
  212. data/lib/coss/hooks/messages/client.rb +205 -0
  213. data/lib/coss/hooks/messages/types/get_messages_request.rb +15 -0
  214. data/lib/coss/hooks/messages/types/list_deliveries_messages_request.rb +15 -0
  215. data/lib/coss/hooks/messages/types/list_messages_request.rb +19 -0
  216. data/lib/coss/hooks/messages/types/send_hook_message_request.rb +19 -0
  217. data/lib/coss/hooks/portal/client.rb +66 -0
  218. data/lib/coss/hooks/portal/types/create_hook_portal_session_request.rb +17 -0
  219. data/lib/coss/internal/errors/constraint_error.rb +10 -0
  220. data/lib/coss/internal/errors/type_error.rb +10 -0
  221. data/lib/coss/internal/http/base_request.rb +53 -0
  222. data/lib/coss/internal/http/raw_client.rb +271 -0
  223. data/lib/coss/internal/idempotency_key.rb +17 -0
  224. data/lib/coss/internal/iterators/cursor_item_iterator.rb +28 -0
  225. data/lib/coss/internal/iterators/cursor_page_iterator.rb +63 -0
  226. data/lib/coss/internal/iterators/item_iterator.rb +65 -0
  227. data/lib/coss/internal/iterators/offset_item_iterator.rb +30 -0
  228. data/lib/coss/internal/iterators/offset_page_iterator.rb +103 -0
  229. data/lib/coss/internal/json/request.rb +42 -0
  230. data/lib/coss/internal/json/serializable.rb +25 -0
  231. data/lib/coss/internal/multipart/multipart_encoder.rb +141 -0
  232. data/lib/coss/internal/multipart/multipart_form_data.rb +83 -0
  233. data/lib/coss/internal/multipart/multipart_form_data_part.rb +51 -0
  234. data/lib/coss/internal/multipart/multipart_request.rb +41 -0
  235. data/lib/coss/internal/types/array.rb +47 -0
  236. data/lib/coss/internal/types/boolean.rb +34 -0
  237. data/lib/coss/internal/types/enum.rb +56 -0
  238. data/lib/coss/internal/types/hash.rb +36 -0
  239. data/lib/coss/internal/types/model/field.rb +38 -0
  240. data/lib/coss/internal/types/model.rb +218 -0
  241. data/lib/coss/internal/types/type.rb +35 -0
  242. data/lib/coss/internal/types/union.rb +161 -0
  243. data/lib/coss/internal/types/unknown.rb +15 -0
  244. data/lib/coss/internal/types/utils.rb +116 -0
  245. data/lib/coss/log_drains/batches/client.rb +105 -0
  246. data/lib/coss/log_drains/batches/types/get_batches_request.rb +15 -0
  247. data/lib/coss/log_drains/batches/types/list_batches_request.rb +19 -0
  248. data/lib/coss/log_drains/batches/types/list_batches_request_status.rb +17 -0
  249. data/lib/coss/log_drains/client.rb +226 -0
  250. data/lib/coss/log_drains/types/create_log_drain_request.rb +15 -0
  251. data/lib/coss/log_drains/types/delete_log_drains_request.rb +11 -0
  252. data/lib/coss/log_drains/types/get_log_drains_request.rb +11 -0
  253. data/lib/coss/log_drains/types/update_log_drain_request.rb +19 -0
  254. data/lib/coss/logs/client.rb +119 -0
  255. data/lib/coss/logs/types/get_logs_request.rb +11 -0
  256. data/lib/coss/logs/types/list_logs_request.rb +37 -0
  257. data/lib/coss/reputation/client.rb +52 -0
  258. data/lib/coss/risk/assessments/client.rb +106 -0
  259. data/lib/coss/risk/assessments/types/get_assessments_request.rb +13 -0
  260. data/lib/coss/risk/assessments/types/list_assessments_request.rb +23 -0
  261. data/lib/coss/risk/assessments/types/list_assessments_request_review_status.rb +16 -0
  262. data/lib/coss/risk/client.rb +371 -0
  263. data/lib/coss/risk/limit_buckets/client.rb +214 -0
  264. data/lib/coss/risk/limit_buckets/types/create_risk_limit_bucket_request.rb +21 -0
  265. data/lib/coss/risk/limit_buckets/types/create_risk_limit_bucket_request_on_failure.rb +16 -0
  266. data/lib/coss/risk/limit_buckets/types/delete_limit_buckets_request.rb +13 -0
  267. data/lib/coss/risk/limit_buckets/types/get_limit_buckets_request.rb +13 -0
  268. data/lib/coss/risk/limit_buckets/types/update_risk_limit_bucket_request.rb +21 -0
  269. data/lib/coss/risk/limit_buckets/types/update_risk_limit_bucket_request_on_failure.rb +16 -0
  270. data/lib/coss/risk/lists/client.rb +181 -0
  271. data/lib/coss/risk/lists/types/create_risk_list_entry_request.rb +21 -0
  272. data/lib/coss/risk/lists/types/get_lists_request.rb +13 -0
  273. data/lib/coss/risk/lists/types/list_lists_request.rb +19 -0
  274. data/lib/coss/risk/lists/types/remove_lists_request.rb +13 -0
  275. data/lib/coss/risk/rules/client.rb +222 -0
  276. data/lib/coss/risk/rules/types/create_risk_rule_request.rb +25 -0
  277. data/lib/coss/risk/rules/types/create_risk_rule_request_match.rb +16 -0
  278. data/lib/coss/risk/rules/types/delete_rules_request.rb +13 -0
  279. data/lib/coss/risk/rules/types/get_rules_request.rb +13 -0
  280. data/lib/coss/risk/rules/types/update_risk_rule_request.rb +27 -0
  281. data/lib/coss/risk/rules/types/update_risk_rule_request_match.rb +16 -0
  282. data/lib/coss/risk/settings/client.rb +99 -0
  283. data/lib/coss/risk/settings/types/update_risk_settings_request.rb +23 -0
  284. data/lib/coss/risk/settings/types/update_risk_settings_request_captcha.rb +17 -0
  285. data/lib/coss/risk/settings/types/update_risk_settings_request_captcha_provider.rb +16 -0
  286. data/lib/coss/risk/settings/types/update_risk_settings_request_content_thresholds.rb +20 -0
  287. data/lib/coss/risk/settings/types/update_risk_settings_request_disabled_reasons_item.rb +57 -0
  288. data/lib/coss/risk/settings/types/update_risk_settings_request_reason_weights.rb +106 -0
  289. data/lib/coss/risk/types/check_risk_limit_request.rb +17 -0
  290. data/lib/coss/risk/types/create_risk_assessment_request.rb +29 -0
  291. data/lib/coss/risk/types/create_risk_assessment_request_captcha.rb +11 -0
  292. data/lib/coss/risk/types/create_risk_assessment_request_content.rb +13 -0
  293. data/lib/coss/risk/types/create_risk_assessment_request_device.rb +13 -0
  294. data/lib/coss/risk/types/create_risk_assessment_request_user.rb +13 -0
  295. data/lib/coss/risk/types/create_risk_feedback_request.rb +15 -0
  296. data/lib/coss/risk/types/risk_content_classify_request.rb +11 -0
  297. data/lib/coss/risk/types/risk_email_check_request.rb +11 -0
  298. data/lib/coss/risk/types/risk_ip_check_request.rb +11 -0
  299. data/lib/coss/risk/users/client.rb +55 -0
  300. data/lib/coss/risk/users/types/forget_users_request.rb +13 -0
  301. data/lib/coss/sms/client.rb +256 -0
  302. data/lib/coss/sms/numbers/client.rb +53 -0
  303. data/lib/coss/sms/received/client.rb +102 -0
  304. data/lib/coss/sms/received/types/get_received_request.rb +13 -0
  305. data/lib/coss/sms/received/types/list_received_request.rb +23 -0
  306. data/lib/coss/sms/suppressions/client.rb +214 -0
  307. data/lib/coss/sms/suppressions/types/check_suppressions_request.rb +13 -0
  308. data/lib/coss/sms/suppressions/types/create_sms_suppression_request.rb +13 -0
  309. data/lib/coss/sms/suppressions/types/get_suppressions_request.rb +13 -0
  310. data/lib/coss/sms/suppressions/types/list_suppressions_request.rb +17 -0
  311. data/lib/coss/sms/suppressions/types/remove_suppressions_request.rb +13 -0
  312. data/lib/coss/sms/types/cancel_sms_request.rb +11 -0
  313. data/lib/coss/sms/types/get_sms_request.rb +11 -0
  314. data/lib/coss/sms/types/list_events_sms_request.rb +11 -0
  315. data/lib/coss/sms/types/list_sms_request.rb +21 -0
  316. data/lib/coss/sms/types/send_sms_request.rb +21 -0
  317. data/lib/coss/sms/types/send_sms_request_tags_item.rb +13 -0
  318. data/lib/coss/types/account_webhook_event.rb +19 -0
  319. data/lib/coss/types/account_webhook_event_data.rb +21 -0
  320. data/lib/coss/types/account_webhook_event_data_previous_status.rb +13 -0
  321. data/lib/coss/types/account_webhook_event_data_status.rb +13 -0
  322. data/lib/coss/types/account_webhook_event_object.rb +11 -0
  323. data/lib/coss/types/account_webhook_event_type.rb +16 -0
  324. data/lib/coss/types/audience.rb +19 -0
  325. data/lib/coss/types/audience_contacts_added.rb +15 -0
  326. data/lib/coss/types/audience_contacts_added_object.rb +11 -0
  327. data/lib/coss/types/audience_list.rb +13 -0
  328. data/lib/coss/types/audience_list_object.rb +11 -0
  329. data/lib/coss/types/audience_object.rb +11 -0
  330. data/lib/coss/types/audit_actor_type.rb +13 -0
  331. data/lib/coss/types/audit_event.rb +37 -0
  332. data/lib/coss/types/audit_event_list.rb +13 -0
  333. data/lib/coss/types/audit_event_list_object.rb +11 -0
  334. data/lib/coss/types/audit_event_object.rb +11 -0
  335. data/lib/coss/types/billing.rb +41 -0
  336. data/lib/coss/types/billing_add_ons_item.rb +17 -0
  337. data/lib/coss/types/billing_add_ons_item_interval.rb +13 -0
  338. data/lib/coss/types/billing_contract.rb +20 -0
  339. data/lib/coss/types/billing_contract_kind.rb +13 -0
  340. data/lib/coss/types/billing_currency.rb +11 -0
  341. data/lib/coss/types/billing_estimate.rb +16 -0
  342. data/lib/coss/types/billing_features.rb +19 -0
  343. data/lib/coss/types/billing_holds_item.rb +11 -0
  344. data/lib/coss/types/billing_holds_item_reason.rb +13 -0
  345. data/lib/coss/types/billing_limits.rb +16 -0
  346. data/lib/coss/types/billing_object.rb +11 -0
  347. data/lib/coss/types/billing_payment_method.rb +13 -0
  348. data/lib/coss/types/billing_period.rb +12 -0
  349. data/lib/coss/types/billing_plan.rb +14 -0
  350. data/lib/coss/types/billing_scheduled_change.rb +12 -0
  351. data/lib/coss/types/billing_scheduled_change_plan.rb +14 -0
  352. data/lib/coss/types/billing_status.rb +13 -0
  353. data/lib/coss/types/billing_usage_item.rb +13 -0
  354. data/lib/coss/types/billing_usage_item_meter.rb +18 -0
  355. data/lib/coss/types/billing_webhook_event.rb +25 -0
  356. data/lib/coss/types/billing_webhook_event_five.rb +19 -0
  357. data/lib/coss/types/billing_webhook_event_five_data.rb +13 -0
  358. data/lib/coss/types/billing_webhook_event_five_object.rb +11 -0
  359. data/lib/coss/types/billing_webhook_event_five_type.rb +11 -0
  360. data/lib/coss/types/billing_webhook_event_four.rb +19 -0
  361. data/lib/coss/types/billing_webhook_event_four_data.rb +13 -0
  362. data/lib/coss/types/billing_webhook_event_four_data_reason.rb +13 -0
  363. data/lib/coss/types/billing_webhook_event_four_object.rb +11 -0
  364. data/lib/coss/types/billing_webhook_event_four_type.rb +12 -0
  365. data/lib/coss/types/billing_webhook_event_one.rb +19 -0
  366. data/lib/coss/types/billing_webhook_event_one_data.rb +15 -0
  367. data/lib/coss/types/billing_webhook_event_one_data_failure.rb +9 -0
  368. data/lib/coss/types/billing_webhook_event_one_object.rb +11 -0
  369. data/lib/coss/types/billing_webhook_event_one_type.rb +11 -0
  370. data/lib/coss/types/billing_webhook_event_seven.rb +19 -0
  371. data/lib/coss/types/billing_webhook_event_seven_data.rb +15 -0
  372. data/lib/coss/types/billing_webhook_event_seven_data_scope.rb +13 -0
  373. data/lib/coss/types/billing_webhook_event_seven_object.rb +11 -0
  374. data/lib/coss/types/billing_webhook_event_seven_type.rb +12 -0
  375. data/lib/coss/types/billing_webhook_event_six.rb +19 -0
  376. data/lib/coss/types/billing_webhook_event_six_data.rb +23 -0
  377. data/lib/coss/types/billing_webhook_event_six_data_period.rb +11 -0
  378. data/lib/coss/types/billing_webhook_event_six_data_scope.rb +13 -0
  379. data/lib/coss/types/billing_webhook_event_six_object.rb +11 -0
  380. data/lib/coss/types/billing_webhook_event_six_type.rb +11 -0
  381. data/lib/coss/types/billing_webhook_event_three.rb +19 -0
  382. data/lib/coss/types/billing_webhook_event_three_data.rb +19 -0
  383. data/lib/coss/types/billing_webhook_event_three_data_meter.rb +18 -0
  384. data/lib/coss/types/billing_webhook_event_three_data_of.rb +12 -0
  385. data/lib/coss/types/billing_webhook_event_three_data_period.rb +11 -0
  386. data/lib/coss/types/billing_webhook_event_three_object.rb +11 -0
  387. data/lib/coss/types/billing_webhook_event_three_type.rb +11 -0
  388. data/lib/coss/types/billing_webhook_event_two.rb +19 -0
  389. data/lib/coss/types/billing_webhook_event_two_data.rb +19 -0
  390. data/lib/coss/types/billing_webhook_event_two_data_change.rb +15 -0
  391. data/lib/coss/types/billing_webhook_event_two_data_plan.rb +14 -0
  392. data/lib/coss/types/billing_webhook_event_two_data_previous_plan.rb +14 -0
  393. data/lib/coss/types/billing_webhook_event_two_object.rb +11 -0
  394. data/lib/coss/types/billing_webhook_event_two_type.rb +11 -0
  395. data/lib/coss/types/billing_webhook_event_zero.rb +19 -0
  396. data/lib/coss/types/billing_webhook_event_zero_data.rb +13 -0
  397. data/lib/coss/types/billing_webhook_event_zero_object.rb +11 -0
  398. data/lib/coss/types/billing_webhook_event_zero_type.rb +13 -0
  399. data/lib/coss/types/broadcast.rb +57 -0
  400. data/lib/coss/types/broadcast_email_list.rb +13 -0
  401. data/lib/coss/types/broadcast_email_list_object.rb +11 -0
  402. data/lib/coss/types/broadcast_error.rb +11 -0
  403. data/lib/coss/types/broadcast_list.rb +13 -0
  404. data/lib/coss/types/broadcast_list_object.rb +11 -0
  405. data/lib/coss/types/broadcast_object.rb +11 -0
  406. data/lib/coss/types/broadcast_stats.rb +25 -0
  407. data/lib/coss/types/broadcast_status.rb +17 -0
  408. data/lib/coss/types/broadcast_test.rb +11 -0
  409. data/lib/coss/types/broadcast_test_object.rb +11 -0
  410. data/lib/coss/types/broadcast_tracking.rb +11 -0
  411. data/lib/coss/types/broadcast_webhook_event.rb +19 -0
  412. data/lib/coss/types/broadcast_webhook_event_data.rb +17 -0
  413. data/lib/coss/types/broadcast_webhook_event_data_broadcast.rb +13 -0
  414. data/lib/coss/types/broadcast_webhook_event_data_broadcast_status.rb +17 -0
  415. data/lib/coss/types/broadcast_webhook_event_data_error.rb +11 -0
  416. data/lib/coss/types/broadcast_webhook_event_object.rb +11 -0
  417. data/lib/coss/types/broadcast_webhook_event_type.rb +15 -0
  418. data/lib/coss/types/contact.rb +33 -0
  419. data/lib/coss/types/contact_confirmation.rb +13 -0
  420. data/lib/coss/types/contact_confirmation_object.rb +11 -0
  421. data/lib/coss/types/contact_confirmation_status.rb +14 -0
  422. data/lib/coss/types/contact_import.rb +17 -0
  423. data/lib/coss/types/contact_import_invalid_item.rb +13 -0
  424. data/lib/coss/types/contact_import_object.rb +11 -0
  425. data/lib/coss/types/contact_list.rb +13 -0
  426. data/lib/coss/types/contact_list_object.rb +11 -0
  427. data/lib/coss/types/contact_object.rb +11 -0
  428. data/lib/coss/types/contact_properties_value.rb +15 -0
  429. data/lib/coss/types/contact_property.rb +21 -0
  430. data/lib/coss/types/contact_property_fallback.rb +16 -0
  431. data/lib/coss/types/contact_property_list.rb +13 -0
  432. data/lib/coss/types/contact_property_list_object.rb +11 -0
  433. data/lib/coss/types/contact_property_object.rb +11 -0
  434. data/lib/coss/types/contact_property_type.rb +14 -0
  435. data/lib/coss/types/contact_source.rb +14 -0
  436. data/lib/coss/types/contact_status.rb +13 -0
  437. data/lib/coss/types/contact_topics.rb +13 -0
  438. data/lib/coss/types/contact_topics_object.rb +11 -0
  439. data/lib/coss/types/contact_topics_topics_item.rb +15 -0
  440. data/lib/coss/types/contact_topics_topics_item_choice.rb +12 -0
  441. data/lib/coss/types/contact_webhook_event.rb +19 -0
  442. data/lib/coss/types/contact_webhook_event_data.rb +15 -0
  443. data/lib/coss/types/contact_webhook_event_data_contact.rb +13 -0
  444. data/lib/coss/types/contact_webhook_event_data_contact_status.rb +13 -0
  445. data/lib/coss/types/contact_webhook_event_data_source.rb +14 -0
  446. data/lib/coss/types/contact_webhook_event_object.rb +11 -0
  447. data/lib/coss/types/contact_webhook_event_type.rb +15 -0
  448. data/lib/coss/types/credit.rb +35 -0
  449. data/lib/coss/types/credit_applies_to.rb +12 -0
  450. data/lib/coss/types/credit_kind.rb +12 -0
  451. data/lib/coss/types/credit_list.rb +13 -0
  452. data/lib/coss/types/credit_list_object.rb +11 -0
  453. data/lib/coss/types/credit_meter.rb +18 -0
  454. data/lib/coss/types/credit_meters_item.rb +18 -0
  455. data/lib/coss/types/credit_object.rb +11 -0
  456. data/lib/coss/types/credit_source.rb +16 -0
  457. data/lib/coss/types/dedicated_ip_pool.rb +22 -0
  458. data/lib/coss/types/dedicated_ip_pool_ips_item.rb +11 -0
  459. data/lib/coss/types/dedicated_ip_pool_object.rb +11 -0
  460. data/lib/coss/types/dedicated_ip_pool_status.rb +16 -0
  461. data/lib/coss/types/deleted_api_key.rb +13 -0
  462. data/lib/coss/types/deleted_api_key_object.rb +11 -0
  463. data/lib/coss/types/deleted_audience.rb +13 -0
  464. data/lib/coss/types/deleted_audience_object.rb +11 -0
  465. data/lib/coss/types/deleted_broadcast.rb +13 -0
  466. data/lib/coss/types/deleted_broadcast_object.rb +11 -0
  467. data/lib/coss/types/deleted_contact.rb +13 -0
  468. data/lib/coss/types/deleted_contact_object.rb +11 -0
  469. data/lib/coss/types/deleted_contact_property.rb +13 -0
  470. data/lib/coss/types/deleted_contact_property_object.rb +11 -0
  471. data/lib/coss/types/deleted_domain.rb +13 -0
  472. data/lib/coss/types/deleted_domain_object.rb +11 -0
  473. data/lib/coss/types/deleted_email_template.rb +13 -0
  474. data/lib/coss/types/deleted_email_template_object.rb +11 -0
  475. data/lib/coss/types/deleted_hook_application.rb +13 -0
  476. data/lib/coss/types/deleted_hook_application_object.rb +11 -0
  477. data/lib/coss/types/deleted_hook_endpoint.rb +13 -0
  478. data/lib/coss/types/deleted_hook_endpoint_object.rb +11 -0
  479. data/lib/coss/types/deleted_log_drain.rb +13 -0
  480. data/lib/coss/types/deleted_log_drain_object.rb +11 -0
  481. data/lib/coss/types/deleted_received_email.rb +13 -0
  482. data/lib/coss/types/deleted_received_email_object.rb +11 -0
  483. data/lib/coss/types/deleted_risk_limit_bucket.rb +13 -0
  484. data/lib/coss/types/deleted_risk_limit_bucket_object.rb +11 -0
  485. data/lib/coss/types/deleted_risk_list_entry.rb +13 -0
  486. data/lib/coss/types/deleted_risk_list_entry_object.rb +11 -0
  487. data/lib/coss/types/deleted_risk_rule.rb +13 -0
  488. data/lib/coss/types/deleted_risk_rule_object.rb +11 -0
  489. data/lib/coss/types/deleted_segment.rb +13 -0
  490. data/lib/coss/types/deleted_segment_object.rb +11 -0
  491. data/lib/coss/types/deleted_sms_suppression.rb +13 -0
  492. data/lib/coss/types/deleted_sms_suppression_object.rb +11 -0
  493. data/lib/coss/types/deleted_suppression.rb +13 -0
  494. data/lib/coss/types/deleted_suppression_object.rb +11 -0
  495. data/lib/coss/types/deleted_topic.rb +13 -0
  496. data/lib/coss/types/deleted_topic_object.rb +11 -0
  497. data/lib/coss/types/deleted_tracking_rule.rb +15 -0
  498. data/lib/coss/types/deleted_tracking_rule_object.rb +11 -0
  499. data/lib/coss/types/deleted_webhook_endpoint.rb +13 -0
  500. data/lib/coss/types/deleted_webhook_endpoint_object.rb +11 -0
  501. data/lib/coss/types/deleted_webhook_listener.rb +13 -0
  502. data/lib/coss/types/deleted_webhook_listener_object.rb +11 -0
  503. data/lib/coss/types/dmarc_published_record.rb +26 -0
  504. data/lib/coss/types/dmarc_published_record_adkim.rb +12 -0
  505. data/lib/coss/types/dmarc_published_record_aspf.rb +12 -0
  506. data/lib/coss/types/dmarc_published_record_np.rb +13 -0
  507. data/lib/coss/types/dmarc_published_record_p.rb +13 -0
  508. data/lib/coss/types/dmarc_published_record_sp.rb +13 -0
  509. data/lib/coss/types/dmarc_published_record_t.rb +12 -0
  510. data/lib/coss/types/dmarc_report.rb +33 -0
  511. data/lib/coss/types/dmarc_report_list.rb +13 -0
  512. data/lib/coss/types/dmarc_report_list_object.rb +11 -0
  513. data/lib/coss/types/dmarc_report_object.rb +11 -0
  514. data/lib/coss/types/dmarc_report_policy_published.rb +24 -0
  515. data/lib/coss/types/dmarc_report_record.rb +29 -0
  516. data/lib/coss/types/dmarc_report_record_auth_results.rb +11 -0
  517. data/lib/coss/types/dmarc_report_record_auth_results_dkim_item.rb +13 -0
  518. data/lib/coss/types/dmarc_report_record_auth_results_spf_item.rb +13 -0
  519. data/lib/coss/types/dmarc_report_record_disposition.rb +13 -0
  520. data/lib/coss/types/dmarc_report_record_dkim.rb +12 -0
  521. data/lib/coss/types/dmarc_report_record_reasons_item.rb +11 -0
  522. data/lib/coss/types/dmarc_report_record_spf.rb +12 -0
  523. data/lib/coss/types/dmarc_report_reporter.rb +11 -0
  524. data/lib/coss/types/dmarc_report_summary.rb +31 -0
  525. data/lib/coss/types/dmarc_report_summary_object.rb +11 -0
  526. data/lib/coss/types/dmarc_report_summary_policy_published.rb +24 -0
  527. data/lib/coss/types/dmarc_report_summary_reporter.rb +11 -0
  528. data/lib/coss/types/dmarc_source.rb +17 -0
  529. data/lib/coss/types/domain.rb +39 -0
  530. data/lib/coss/types/domain_bimi.rb +23 -0
  531. data/lib/coss/types/domain_bimi_dmarc_policy.rb +13 -0
  532. data/lib/coss/types/domain_bimi_issues_item.rb +11 -0
  533. data/lib/coss/types/domain_bimi_issues_item_code.rb +19 -0
  534. data/lib/coss/types/domain_bimi_status.rb +14 -0
  535. data/lib/coss/types/domain_dmarc.rb +37 -0
  536. data/lib/coss/types/domain_dmarc_checks_item.rb +13 -0
  537. data/lib/coss/types/domain_dmarc_checks_item_id.rb +17 -0
  538. data/lib/coss/types/domain_dmarc_next.rb +13 -0
  539. data/lib/coss/types/domain_dmarc_next_kind.rb +14 -0
  540. data/lib/coss/types/domain_dmarc_next_policy.rb +13 -0
  541. data/lib/coss/types/domain_dmarc_object.rb +11 -0
  542. data/lib/coss/types/domain_dmarc_policy.rb +13 -0
  543. data/lib/coss/types/domain_dmarc_report_summary.rb +27 -0
  544. data/lib/coss/types/domain_dmarc_stage.rb +15 -0
  545. data/lib/coss/types/domain_list.rb +13 -0
  546. data/lib/coss/types/domain_list_object.rb +11 -0
  547. data/lib/coss/types/domain_mail_from_status.rb +14 -0
  548. data/lib/coss/types/domain_object.rb +11 -0
  549. data/lib/coss/types/domain_record.rb +23 -0
  550. data/lib/coss/types/domain_record_purpose.rb +14 -0
  551. data/lib/coss/types/domain_record_status.rb +14 -0
  552. data/lib/coss/types/domain_record_type.rb +13 -0
  553. data/lib/coss/types/domain_status.rb +15 -0
  554. data/lib/coss/types/domain_webhook_event.rb +19 -0
  555. data/lib/coss/types/domain_webhook_event_data.rb +27 -0
  556. data/lib/coss/types/domain_webhook_event_object.rb +11 -0
  557. data/lib/coss/types/domain_webhook_event_type.rb +11 -0
  558. data/lib/coss/types/email.rb +61 -0
  559. data/lib/coss/types/email_attachment.rb +17 -0
  560. data/lib/coss/types/email_batch.rb +15 -0
  561. data/lib/coss/types/email_batch_object.rb +11 -0
  562. data/lib/coss/types/email_content_storage.rb +12 -0
  563. data/lib/coss/types/email_content_storage_mode.rb +12 -0
  564. data/lib/coss/types/email_event.rb +21 -0
  565. data/lib/coss/types/email_event_data.rb +27 -0
  566. data/lib/coss/types/email_event_data_bounce.rb +13 -0
  567. data/lib/coss/types/email_event_data_bounce_type.rb +13 -0
  568. data/lib/coss/types/email_event_data_click.rb +14 -0
  569. data/lib/coss/types/email_event_data_complaint.rb +11 -0
  570. data/lib/coss/types/email_event_data_delay.rb +13 -0
  571. data/lib/coss/types/email_event_data_delivery.rb +9 -0
  572. data/lib/coss/types/email_event_data_failure.rb +11 -0
  573. data/lib/coss/types/email_event_data_open.rb +10 -0
  574. data/lib/coss/types/email_event_data_reschedule.rb +12 -0
  575. data/lib/coss/types/email_event_data_suppression.rb +14 -0
  576. data/lib/coss/types/email_event_data_suppression_reason.rb +15 -0
  577. data/lib/coss/types/email_event_data_unsubscribe.rb +13 -0
  578. data/lib/coss/types/email_event_list.rb +13 -0
  579. data/lib/coss/types/email_event_list_object.rb +11 -0
  580. data/lib/coss/types/email_event_object.rb +11 -0
  581. data/lib/coss/types/email_event_type.rb +23 -0
  582. data/lib/coss/types/email_failure.rb +11 -0
  583. data/lib/coss/types/email_link.rb +23 -0
  584. data/lib/coss/types/email_link_list.rb +13 -0
  585. data/lib/coss/types/email_link_list_object.rb +11 -0
  586. data/lib/coss/types/email_link_object.rb +11 -0
  587. data/lib/coss/types/email_object.rb +11 -0
  588. data/lib/coss/types/email_recipient.rb +15 -0
  589. data/lib/coss/types/email_recipient_status.rb +19 -0
  590. data/lib/coss/types/email_recipient_type.rb +13 -0
  591. data/lib/coss/types/email_status.rb +15 -0
  592. data/lib/coss/types/email_stream.rb +12 -0
  593. data/lib/coss/types/email_summary.rb +54 -0
  594. data/lib/coss/types/email_summary_list.rb +13 -0
  595. data/lib/coss/types/email_summary_list_object.rb +11 -0
  596. data/lib/coss/types/email_summary_object.rb +11 -0
  597. data/lib/coss/types/email_summary_status.rb +15 -0
  598. data/lib/coss/types/email_summary_stream.rb +12 -0
  599. data/lib/coss/types/email_summary_tags_item.rb +11 -0
  600. data/lib/coss/types/email_tags_item.rb +11 -0
  601. data/lib/coss/types/email_template.rb +27 -0
  602. data/lib/coss/types/email_template_list.rb +13 -0
  603. data/lib/coss/types/email_template_list_object.rb +11 -0
  604. data/lib/coss/types/email_template_object.rb +11 -0
  605. data/lib/coss/types/email_template_reference.rb +13 -0
  606. data/lib/coss/types/email_template_version.rb +31 -0
  607. data/lib/coss/types/email_template_version_list.rb +13 -0
  608. data/lib/coss/types/email_template_version_list_object.rb +11 -0
  609. data/lib/coss/types/email_template_version_object.rb +11 -0
  610. data/lib/coss/types/email_tracking.rb +27 -0
  611. data/lib/coss/types/email_webhook_event.rb +19 -0
  612. data/lib/coss/types/email_webhook_event_data.rb +45 -0
  613. data/lib/coss/types/email_webhook_event_data_bounce.rb +13 -0
  614. data/lib/coss/types/email_webhook_event_data_bounce_type.rb +13 -0
  615. data/lib/coss/types/email_webhook_event_data_click.rb +14 -0
  616. data/lib/coss/types/email_webhook_event_data_complaint.rb +11 -0
  617. data/lib/coss/types/email_webhook_event_data_delay.rb +13 -0
  618. data/lib/coss/types/email_webhook_event_data_delivery.rb +9 -0
  619. data/lib/coss/types/email_webhook_event_data_failure.rb +11 -0
  620. data/lib/coss/types/email_webhook_event_data_open.rb +10 -0
  621. data/lib/coss/types/email_webhook_event_data_reschedule.rb +12 -0
  622. data/lib/coss/types/email_webhook_event_data_suppression.rb +14 -0
  623. data/lib/coss/types/email_webhook_event_data_suppression_reason.rb +15 -0
  624. data/lib/coss/types/email_webhook_event_data_tags_item.rb +11 -0
  625. data/lib/coss/types/email_webhook_event_data_unsubscribe.rb +13 -0
  626. data/lib/coss/types/email_webhook_event_object.rb +11 -0
  627. data/lib/coss/types/email_webhook_event_type.rb +23 -0
  628. data/lib/coss/types/environment.rb +24 -0
  629. data/lib/coss/types/environment_api_key.rb +18 -0
  630. data/lib/coss/types/environment_api_key_access.rb +12 -0
  631. data/lib/coss/types/environment_mode.rb +12 -0
  632. data/lib/coss/types/environment_object.rb +11 -0
  633. data/lib/coss/types/environment_organization.rb +15 -0
  634. data/lib/coss/types/environment_project.rb +13 -0
  635. data/lib/coss/types/error.rb +9 -0
  636. data/lib/coss/types/error_body.rb +19 -0
  637. data/lib/coss/types/error_body_issues_item.rb +11 -0
  638. data/lib/coss/types/error_body_type.rb +18 -0
  639. data/lib/coss/types/export_suppressions_request_scope.rb +16 -0
  640. data/lib/coss/types/export_suppressions_request_scope_one.rb +11 -0
  641. data/lib/coss/types/export_suppressions_request_scope_zero.rb +11 -0
  642. data/lib/coss/types/forgotten_risk_user.rb +13 -0
  643. data/lib/coss/types/forgotten_risk_user_object.rb +11 -0
  644. data/lib/coss/types/hook_application.rb +21 -0
  645. data/lib/coss/types/hook_application_list.rb +13 -0
  646. data/lib/coss/types/hook_application_list_object.rb +11 -0
  647. data/lib/coss/types/hook_application_object.rb +11 -0
  648. data/lib/coss/types/hook_attempt.rb +25 -0
  649. data/lib/coss/types/hook_attempt_list.rb +13 -0
  650. data/lib/coss/types/hook_attempt_list_object.rb +11 -0
  651. data/lib/coss/types/hook_attempt_object.rb +11 -0
  652. data/lib/coss/types/hook_delivery.rb +31 -0
  653. data/lib/coss/types/hook_delivery_list.rb +13 -0
  654. data/lib/coss/types/hook_delivery_list_object.rb +11 -0
  655. data/lib/coss/types/hook_delivery_object.rb +11 -0
  656. data/lib/coss/types/hook_delivery_status.rb +13 -0
  657. data/lib/coss/types/hook_endpoint.rb +37 -0
  658. data/lib/coss/types/hook_endpoint_disabled_reason.rb +12 -0
  659. data/lib/coss/types/hook_endpoint_list.rb +13 -0
  660. data/lib/coss/types/hook_endpoint_list_object.rb +11 -0
  661. data/lib/coss/types/hook_endpoint_object.rb +11 -0
  662. data/lib/coss/types/hook_endpoint_recovery.rb +25 -0
  663. data/lib/coss/types/hook_endpoint_recovery_object.rb +11 -0
  664. data/lib/coss/types/hook_endpoint_recovery_status.rb +12 -0
  665. data/lib/coss/types/hook_endpoint_secret.rb +11 -0
  666. data/lib/coss/types/hook_endpoint_secret_object.rb +11 -0
  667. data/lib/coss/types/hook_endpoint_webhook_event.rb +19 -0
  668. data/lib/coss/types/hook_endpoint_webhook_event_data.rb +19 -0
  669. data/lib/coss/types/hook_endpoint_webhook_event_object.rb +11 -0
  670. data/lib/coss/types/hook_endpoint_webhook_event_type.rb +11 -0
  671. data/lib/coss/types/hook_endpoint_with_secret.rb +39 -0
  672. data/lib/coss/types/hook_endpoint_with_secret_disabled_reason.rb +12 -0
  673. data/lib/coss/types/hook_endpoint_with_secret_object.rb +11 -0
  674. data/lib/coss/types/hook_event_type.rb +23 -0
  675. data/lib/coss/types/hook_event_type_list.rb +13 -0
  676. data/lib/coss/types/hook_event_type_list_object.rb +11 -0
  677. data/lib/coss/types/hook_event_type_object.rb +11 -0
  678. data/lib/coss/types/hook_message.rb +19 -0
  679. data/lib/coss/types/hook_message_list.rb +13 -0
  680. data/lib/coss/types/hook_message_list_object.rb +11 -0
  681. data/lib/coss/types/hook_message_object.rb +11 -0
  682. data/lib/coss/types/hook_portal_session.rb +21 -0
  683. data/lib/coss/types/hook_portal_session_object.rb +11 -0
  684. data/lib/coss/types/inbound_address.rb +13 -0
  685. data/lib/coss/types/inbound_address_object.rb +11 -0
  686. data/lib/coss/types/invoice.rb +51 -0
  687. data/lib/coss/types/invoice_collection_method.rb +12 -0
  688. data/lib/coss/types/invoice_currency.rb +11 -0
  689. data/lib/coss/types/invoice_kind.rb +14 -0
  690. data/lib/coss/types/invoice_line.rb +29 -0
  691. data/lib/coss/types/invoice_line_kind.rb +20 -0
  692. data/lib/coss/types/invoice_line_meter.rb +18 -0
  693. data/lib/coss/types/invoice_line_object.rb +11 -0
  694. data/lib/coss/types/invoice_line_period.rb +11 -0
  695. data/lib/coss/types/invoice_list.rb +13 -0
  696. data/lib/coss/types/invoice_list_object.rb +11 -0
  697. data/lib/coss/types/invoice_object.rb +11 -0
  698. data/lib/coss/types/invoice_period.rb +11 -0
  699. data/lib/coss/types/invoice_status.rb +14 -0
  700. data/lib/coss/types/invoice_summary.rb +49 -0
  701. data/lib/coss/types/invoice_summary_collection_method.rb +12 -0
  702. data/lib/coss/types/invoice_summary_currency.rb +11 -0
  703. data/lib/coss/types/invoice_summary_kind.rb +14 -0
  704. data/lib/coss/types/invoice_summary_object.rb +11 -0
  705. data/lib/coss/types/invoice_summary_period.rb +11 -0
  706. data/lib/coss/types/invoice_summary_status.rb +14 -0
  707. data/lib/coss/types/list_suppressions_request_scope.rb +16 -0
  708. data/lib/coss/types/list_suppressions_request_scope_one.rb +11 -0
  709. data/lib/coss/types/list_suppressions_request_scope_zero.rb +11 -0
  710. data/lib/coss/types/log.rb +49 -0
  711. data/lib/coss/types/log_drain.rb +27 -0
  712. data/lib/coss/types/log_drain_attempt.rb +21 -0
  713. data/lib/coss/types/log_drain_attempt_object.rb +11 -0
  714. data/lib/coss/types/log_drain_batch.rb +33 -0
  715. data/lib/coss/types/log_drain_batch_list.rb +13 -0
  716. data/lib/coss/types/log_drain_batch_list_object.rb +11 -0
  717. data/lib/coss/types/log_drain_batch_object.rb +11 -0
  718. data/lib/coss/types/log_drain_batch_status.rb +13 -0
  719. data/lib/coss/types/log_drain_disabled_reason.rb +12 -0
  720. data/lib/coss/types/log_drain_list.rb +13 -0
  721. data/lib/coss/types/log_drain_list_object.rb +11 -0
  722. data/lib/coss/types/log_drain_object.rb +11 -0
  723. data/lib/coss/types/log_drain_source.rb +17 -0
  724. data/lib/coss/types/log_drain_with_secret.rb +29 -0
  725. data/lib/coss/types/log_drain_with_secret_disabled_reason.rb +12 -0
  726. data/lib/coss/types/log_drain_with_secret_object.rb +11 -0
  727. data/lib/coss/types/log_level.rb +13 -0
  728. data/lib/coss/types/log_list.rb +13 -0
  729. data/lib/coss/types/log_list_object.rb +11 -0
  730. data/lib/coss/types/log_object.rb +11 -0
  731. data/lib/coss/types/log_source.rb +16 -0
  732. data/lib/coss/types/marketing_settings.rb +25 -0
  733. data/lib/coss/types/marketing_settings_object.rb +11 -0
  734. data/lib/coss/types/marketing_standing.rb +13 -0
  735. data/lib/coss/types/marketing_standing_status.rb +12 -0
  736. data/lib/coss/types/preference_links.rb +15 -0
  737. data/lib/coss/types/preference_links_object.rb +11 -0
  738. data/lib/coss/types/received_email.rb +57 -0
  739. data/lib/coss/types/received_email_attachment.rb +19 -0
  740. data/lib/coss/types/received_email_attachment_disposition.rb +12 -0
  741. data/lib/coss/types/received_email_blocked_reason.rb +11 -0
  742. data/lib/coss/types/received_email_headers_item.rb +11 -0
  743. data/lib/coss/types/received_email_list.rb +13 -0
  744. data/lib/coss/types/received_email_list_object.rb +11 -0
  745. data/lib/coss/types/received_email_object.rb +11 -0
  746. data/lib/coss/types/received_email_status.rb +12 -0
  747. data/lib/coss/types/received_email_summary.rb +41 -0
  748. data/lib/coss/types/received_email_summary_blocked_reason.rb +11 -0
  749. data/lib/coss/types/received_email_summary_object.rb +11 -0
  750. data/lib/coss/types/received_email_summary_status.rb +12 -0
  751. data/lib/coss/types/received_email_verdicts.rb +21 -0
  752. data/lib/coss/types/received_email_verdicts_dkim.rb +14 -0
  753. data/lib/coss/types/received_email_verdicts_dmarc.rb +14 -0
  754. data/lib/coss/types/received_email_verdicts_spam.rb +14 -0
  755. data/lib/coss/types/received_email_verdicts_spf.rb +14 -0
  756. data/lib/coss/types/received_email_verdicts_virus.rb +14 -0
  757. data/lib/coss/types/received_email_webhook_event.rb +19 -0
  758. data/lib/coss/types/received_email_webhook_event_data.rb +31 -0
  759. data/lib/coss/types/received_email_webhook_event_object.rb +11 -0
  760. data/lib/coss/types/received_email_webhook_event_type.rb +11 -0
  761. data/lib/coss/types/received_sms.rb +25 -0
  762. data/lib/coss/types/received_sms_keyword.rb +13 -0
  763. data/lib/coss/types/received_sms_list.rb +13 -0
  764. data/lib/coss/types/received_sms_list_object.rb +11 -0
  765. data/lib/coss/types/received_sms_object.rb +11 -0
  766. data/lib/coss/types/received_sms_webhook_event.rb +19 -0
  767. data/lib/coss/types/received_sms_webhook_event_data.rb +19 -0
  768. data/lib/coss/types/received_sms_webhook_event_data_keyword.rb +13 -0
  769. data/lib/coss/types/received_sms_webhook_event_object.rb +11 -0
  770. data/lib/coss/types/received_sms_webhook_event_type.rb +13 -0
  771. data/lib/coss/types/receiving_domain.rb +18 -0
  772. data/lib/coss/types/receiving_domain_record.rb +21 -0
  773. data/lib/coss/types/receiving_domain_record_status.rb +14 -0
  774. data/lib/coss/types/receiving_domain_record_type.rb +11 -0
  775. data/lib/coss/types/rendered_email_template.rb +21 -0
  776. data/lib/coss/types/rendered_email_template_object.rb +11 -0
  777. data/lib/coss/types/reputation.rb +23 -0
  778. data/lib/coss/types/reputation_check.rb +25 -0
  779. data/lib/coss/types/reputation_check_severity.rb +13 -0
  780. data/lib/coss/types/reputation_object.rb +11 -0
  781. data/lib/coss/types/reputation_status.rb +13 -0
  782. data/lib/coss/types/reputation_window.rb +12 -0
  783. data/lib/coss/types/risk_assessment.rb +35 -0
  784. data/lib/coss/types/risk_assessment_degraded_item.rb +17 -0
  785. data/lib/coss/types/risk_assessment_list.rb +13 -0
  786. data/lib/coss/types/risk_assessment_list_object.rb +11 -0
  787. data/lib/coss/types/risk_assessment_object.rb +11 -0
  788. data/lib/coss/types/risk_assessment_review_status.rb +12 -0
  789. data/lib/coss/types/risk_assessment_signals.rb +23 -0
  790. data/lib/coss/types/risk_assessment_user.rb +11 -0
  791. data/lib/coss/types/risk_calibration.rb +21 -0
  792. data/lib/coss/types/risk_calibration_object.rb +11 -0
  793. data/lib/coss/types/risk_calibration_reason.rb +23 -0
  794. data/lib/coss/types/risk_calibration_reason_code.rb +57 -0
  795. data/lib/coss/types/risk_calibration_rule.rb +19 -0
  796. data/lib/coss/types/risk_captcha_signals.rb +11 -0
  797. data/lib/coss/types/risk_checkout_request.rb +18 -0
  798. data/lib/coss/types/risk_checkout_request_card.rb +14 -0
  799. data/lib/coss/types/risk_checkout_request_card_funding.rb +14 -0
  800. data/lib/coss/types/risk_checkout_signals.rb +20 -0
  801. data/lib/coss/types/risk_checkout_signals_card_funding.rb +14 -0
  802. data/lib/coss/types/risk_content_classification.rb +14 -0
  803. data/lib/coss/types/risk_content_classification_object.rb +11 -0
  804. data/lib/coss/types/risk_content_signals.rb +17 -0
  805. data/lib/coss/types/risk_decision.rb +13 -0
  806. data/lib/coss/types/risk_device_signals.rb +22 -0
  807. data/lib/coss/types/risk_email_check.rb +31 -0
  808. data/lib/coss/types/risk_email_check_degraded_item.rb +12 -0
  809. data/lib/coss/types/risk_email_check_deliverability.rb +13 -0
  810. data/lib/coss/types/risk_email_check_object.rb +11 -0
  811. data/lib/coss/types/risk_email_signals.rb +23 -0
  812. data/lib/coss/types/risk_email_signals_deliverability.rb +13 -0
  813. data/lib/coss/types/risk_event.rb +15 -0
  814. data/lib/coss/types/risk_ip_check.rb +33 -0
  815. data/lib/coss/types/risk_ip_check_degraded_item.rb +12 -0
  816. data/lib/coss/types/risk_ip_check_hosting_kind.rb +13 -0
  817. data/lib/coss/types/risk_ip_check_object.rb +11 -0
  818. data/lib/coss/types/risk_ip_privacy.rb +15 -0
  819. data/lib/coss/types/risk_ip_signals.rb +27 -0
  820. data/lib/coss/types/risk_ip_signals_hosting_kind.rb +13 -0
  821. data/lib/coss/types/risk_limit.rb +23 -0
  822. data/lib/coss/types/risk_limit_bucket.rb +25 -0
  823. data/lib/coss/types/risk_limit_bucket_list.rb +14 -0
  824. data/lib/coss/types/risk_limit_bucket_list_object.rb +11 -0
  825. data/lib/coss/types/risk_limit_bucket_object.rb +11 -0
  826. data/lib/coss/types/risk_limit_bucket_on_failure.rb +12 -0
  827. data/lib/coss/types/risk_limit_object.rb +11 -0
  828. data/lib/coss/types/risk_list.rb +12 -0
  829. data/lib/coss/types/risk_list_entry.rb +23 -0
  830. data/lib/coss/types/risk_list_entry_list.rb +13 -0
  831. data/lib/coss/types/risk_list_entry_list_object.rb +11 -0
  832. data/lib/coss/types/risk_list_entry_object.rb +11 -0
  833. data/lib/coss/types/risk_list_entry_type.rb +16 -0
  834. data/lib/coss/types/risk_login_signals.rb +12 -0
  835. data/lib/coss/types/risk_outcome.rb +13 -0
  836. data/lib/coss/types/risk_reason.rb +33 -0
  837. data/lib/coss/types/risk_reason_code.rb +60 -0
  838. data/lib/coss/types/risk_reason_type.rb +16 -0
  839. data/lib/coss/types/risk_reason_window.rb +12 -0
  840. data/lib/coss/types/risk_rule.rb +29 -0
  841. data/lib/coss/types/risk_rule_condition.rb +14 -0
  842. data/lib/coss/types/risk_rule_condition_field.rb +62 -0
  843. data/lib/coss/types/risk_rule_condition_operator.rb +19 -0
  844. data/lib/coss/types/risk_rule_condition_value.rb +17 -0
  845. data/lib/coss/types/risk_rule_list.rb +14 -0
  846. data/lib/coss/types/risk_rule_list_object.rb +11 -0
  847. data/lib/coss/types/risk_rule_match.rb +12 -0
  848. data/lib/coss/types/risk_rule_object.rb +11 -0
  849. data/lib/coss/types/risk_settings.rb +23 -0
  850. data/lib/coss/types/risk_settings_captcha.rb +11 -0
  851. data/lib/coss/types/risk_settings_captcha_provider.rb +12 -0
  852. data/lib/coss/types/risk_settings_content_thresholds.rb +17 -0
  853. data/lib/coss/types/risk_settings_disabled_reasons_item.rb +53 -0
  854. data/lib/coss/types/risk_settings_object.rb +11 -0
  855. data/lib/coss/types/risk_settings_reason_weights.rb +103 -0
  856. data/lib/coss/types/risk_velocity_signals.rb +23 -0
  857. data/lib/coss/types/risk_webhook_event.rb +19 -0
  858. data/lib/coss/types/risk_webhook_event_data.rb +25 -0
  859. data/lib/coss/types/risk_webhook_event_object.rb +11 -0
  860. data/lib/coss/types/risk_webhook_event_type.rb +12 -0
  861. data/lib/coss/types/segment.rb +19 -0
  862. data/lib/coss/types/segment_filter.rb +15 -0
  863. data/lib/coss/types/segment_filter_conditions_item.rb +21 -0
  864. data/lib/coss/types/segment_filter_conditions_item_audience_id.rb +13 -0
  865. data/lib/coss/types/segment_filter_conditions_item_audience_id_field.rb +11 -0
  866. data/lib/coss/types/segment_filter_conditions_item_audience_id_op.rb +12 -0
  867. data/lib/coss/types/segment_filter_conditions_item_conditions.rb +11 -0
  868. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item.rb +21 -0
  869. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_audience.rb +11 -0
  870. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_audience_op.rb +12 -0
  871. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_created_at.rb +11 -0
  872. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_created_at_op.rb +13 -0
  873. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_created_at_value.rb +14 -0
  874. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_email.rb +11 -0
  875. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_email_op.rb +13 -0
  876. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property.rb +13 -0
  877. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property_op.rb +22 -0
  878. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property_value.rb +18 -0
  879. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_property_value_three_item.rb +15 -0
  880. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_topic.rb +11 -0
  881. data/lib/coss/types/segment_filter_conditions_item_conditions_conditions_item_topic_op.rb +12 -0
  882. data/lib/coss/types/segment_filter_conditions_item_conditions_match.rb +12 -0
  883. data/lib/coss/types/segment_filter_conditions_item_field.rb +13 -0
  884. data/lib/coss/types/segment_filter_conditions_item_field_field.rb +11 -0
  885. data/lib/coss/types/segment_filter_conditions_item_field_op.rb +13 -0
  886. data/lib/coss/types/segment_filter_conditions_item_field_value.rb +14 -0
  887. data/lib/coss/types/segment_filter_conditions_item_key.rb +15 -0
  888. data/lib/coss/types/segment_filter_conditions_item_key_field.rb +11 -0
  889. data/lib/coss/types/segment_filter_conditions_item_key_op.rb +22 -0
  890. data/lib/coss/types/segment_filter_conditions_item_key_value.rb +18 -0
  891. data/lib/coss/types/segment_filter_conditions_item_key_value_three_item.rb +15 -0
  892. data/lib/coss/types/segment_filter_conditions_item_one.rb +13 -0
  893. data/lib/coss/types/segment_filter_conditions_item_one_field.rb +11 -0
  894. data/lib/coss/types/segment_filter_conditions_item_one_op.rb +13 -0
  895. data/lib/coss/types/segment_filter_conditions_item_topic.rb +13 -0
  896. data/lib/coss/types/segment_filter_conditions_item_topic_field.rb +11 -0
  897. data/lib/coss/types/segment_filter_conditions_item_topic_op.rb +12 -0
  898. data/lib/coss/types/segment_filter_match.rb +12 -0
  899. data/lib/coss/types/segment_list.rb +13 -0
  900. data/lib/coss/types/segment_list_object.rb +11 -0
  901. data/lib/coss/types/segment_object.rb +11 -0
  902. data/lib/coss/types/send_email_attachment.rb +15 -0
  903. data/lib/coss/types/send_email_request.rb +45 -0
  904. data/lib/coss/types/send_email_request_bcc.rb +13 -0
  905. data/lib/coss/types/send_email_request_cc.rb +13 -0
  906. data/lib/coss/types/send_email_request_reply_to.rb +13 -0
  907. data/lib/coss/types/send_email_request_stream.rb +12 -0
  908. data/lib/coss/types/send_email_request_tags_item.rb +11 -0
  909. data/lib/coss/types/send_email_request_to.rb +13 -0
  910. data/lib/coss/types/sms.rb +39 -0
  911. data/lib/coss/types/sms_encoding.rb +12 -0
  912. data/lib/coss/types/sms_event.rb +19 -0
  913. data/lib/coss/types/sms_event_data.rb +13 -0
  914. data/lib/coss/types/sms_event_data_failure.rb +12 -0
  915. data/lib/coss/types/sms_event_data_suppression.rb +12 -0
  916. data/lib/coss/types/sms_event_data_suppression_reason.rb +13 -0
  917. data/lib/coss/types/sms_event_list.rb +13 -0
  918. data/lib/coss/types/sms_event_list_object.rb +11 -0
  919. data/lib/coss/types/sms_event_object.rb +11 -0
  920. data/lib/coss/types/sms_event_type.rb +17 -0
  921. data/lib/coss/types/sms_failure.rb +12 -0
  922. data/lib/coss/types/sms_list.rb +13 -0
  923. data/lib/coss/types/sms_list_object.rb +11 -0
  924. data/lib/coss/types/sms_number.rb +27 -0
  925. data/lib/coss/types/sms_number_kind.rb +12 -0
  926. data/lib/coss/types/sms_number_list.rb +13 -0
  927. data/lib/coss/types/sms_number_list_object.rb +11 -0
  928. data/lib/coss/types/sms_number_object.rb +11 -0
  929. data/lib/coss/types/sms_number_registration_status.rb +16 -0
  930. data/lib/coss/types/sms_number_status.rb +13 -0
  931. data/lib/coss/types/sms_object.rb +11 -0
  932. data/lib/coss/types/sms_status.rb +17 -0
  933. data/lib/coss/types/sms_suppression.rb +19 -0
  934. data/lib/coss/types/sms_suppression_check.rb +15 -0
  935. data/lib/coss/types/sms_suppression_check_object.rb +11 -0
  936. data/lib/coss/types/sms_suppression_check_suppression.rb +19 -0
  937. data/lib/coss/types/sms_suppression_check_suppression_object.rb +11 -0
  938. data/lib/coss/types/sms_suppression_check_suppression_reason.rb +13 -0
  939. data/lib/coss/types/sms_suppression_list.rb +13 -0
  940. data/lib/coss/types/sms_suppression_list_object.rb +11 -0
  941. data/lib/coss/types/sms_suppression_object.rb +11 -0
  942. data/lib/coss/types/sms_suppression_reason.rb +13 -0
  943. data/lib/coss/types/sms_tags_item.rb +11 -0
  944. data/lib/coss/types/sms_webhook_event.rb +19 -0
  945. data/lib/coss/types/sms_webhook_event_data.rb +29 -0
  946. data/lib/coss/types/sms_webhook_event_data_failure.rb +12 -0
  947. data/lib/coss/types/sms_webhook_event_data_suppression.rb +12 -0
  948. data/lib/coss/types/sms_webhook_event_data_suppression_reason.rb +13 -0
  949. data/lib/coss/types/sms_webhook_event_data_tags_item.rb +11 -0
  950. data/lib/coss/types/sms_webhook_event_object.rb +11 -0
  951. data/lib/coss/types/sms_webhook_event_type.rb +17 -0
  952. data/lib/coss/types/storage_settings.rb +15 -0
  953. data/lib/coss/types/storage_settings_content_storage.rb +12 -0
  954. data/lib/coss/types/storage_settings_object.rb +11 -0
  955. data/lib/coss/types/suppression.rb +21 -0
  956. data/lib/coss/types/suppression_check.rb +15 -0
  957. data/lib/coss/types/suppression_check_object.rb +11 -0
  958. data/lib/coss/types/suppression_import.rb +15 -0
  959. data/lib/coss/types/suppression_import_invalid_item.rb +13 -0
  960. data/lib/coss/types/suppression_import_object.rb +11 -0
  961. data/lib/coss/types/suppression_list.rb +13 -0
  962. data/lib/coss/types/suppression_list_object.rb +11 -0
  963. data/lib/coss/types/suppression_object.rb +11 -0
  964. data/lib/coss/types/suppression_reason.rb +15 -0
  965. data/lib/coss/types/template_content.rb +15 -0
  966. data/lib/coss/types/template_content_input.rb +15 -0
  967. data/lib/coss/types/template_problem.rb +17 -0
  968. data/lib/coss/types/template_problem_field.rb +13 -0
  969. data/lib/coss/types/template_variable.rb +19 -0
  970. data/lib/coss/types/template_variable_default.rb +15 -0
  971. data/lib/coss/types/template_variable_fields_item.rb +13 -0
  972. data/lib/coss/types/template_variable_fields_item_type.rb +13 -0
  973. data/lib/coss/types/template_variable_input.rb +19 -0
  974. data/lib/coss/types/template_variable_input_default.rb +16 -0
  975. data/lib/coss/types/template_variable_input_fields_item.rb +13 -0
  976. data/lib/coss/types/template_variable_input_fields_item_type.rb +13 -0
  977. data/lib/coss/types/template_variable_input_type.rb +14 -0
  978. data/lib/coss/types/template_variable_type.rb +14 -0
  979. data/lib/coss/types/topic.rb +27 -0
  980. data/lib/coss/types/topic_default_subscription.rb +12 -0
  981. data/lib/coss/types/topic_list.rb +13 -0
  982. data/lib/coss/types/topic_list_object.rb +11 -0
  983. data/lib/coss/types/topic_object.rb +11 -0
  984. data/lib/coss/types/topic_visibility.rb +12 -0
  985. data/lib/coss/types/tracking_domain.rb +25 -0
  986. data/lib/coss/types/tracking_domain_record.rb +18 -0
  987. data/lib/coss/types/tracking_domain_record_status.rb +14 -0
  988. data/lib/coss/types/tracking_domain_record_type.rb +11 -0
  989. data/lib/coss/types/tracking_domain_status.rb +15 -0
  990. data/lib/coss/types/tracking_options.rb +15 -0
  991. data/lib/coss/types/tracking_rule.rb +25 -0
  992. data/lib/coss/types/tracking_rule_object.rb +11 -0
  993. data/lib/coss/types/tracking_settings.rb +16 -0
  994. data/lib/coss/types/tracking_settings_object.rb +11 -0
  995. data/lib/coss/types/update_tracking_rule_request.rb +15 -0
  996. data/lib/coss/types/usage.rb +27 -0
  997. data/lib/coss/types/usage_list.rb +13 -0
  998. data/lib/coss/types/usage_list_object.rb +11 -0
  999. data/lib/coss/types/usage_meter.rb +18 -0
  1000. data/lib/coss/types/usage_object.rb +11 -0
  1001. data/lib/coss/types/webhook_attempt.rb +21 -0
  1002. data/lib/coss/types/webhook_attempt_object.rb +11 -0
  1003. data/lib/coss/types/webhook_delivery.rb +35 -0
  1004. data/lib/coss/types/webhook_delivery_list.rb +13 -0
  1005. data/lib/coss/types/webhook_delivery_list_object.rb +11 -0
  1006. data/lib/coss/types/webhook_delivery_object.rb +11 -0
  1007. data/lib/coss/types/webhook_delivery_status.rb +13 -0
  1008. data/lib/coss/types/webhook_endpoint.rb +33 -0
  1009. data/lib/coss/types/webhook_endpoint_disabled_reason.rb +12 -0
  1010. data/lib/coss/types/webhook_endpoint_list.rb +13 -0
  1011. data/lib/coss/types/webhook_endpoint_list_object.rb +11 -0
  1012. data/lib/coss/types/webhook_endpoint_object.rb +11 -0
  1013. data/lib/coss/types/webhook_endpoint_recovery.rb +15 -0
  1014. data/lib/coss/types/webhook_endpoint_recovery_object.rb +11 -0
  1015. data/lib/coss/types/webhook_endpoint_with_secret.rb +35 -0
  1016. data/lib/coss/types/webhook_endpoint_with_secret_disabled_reason.rb +12 -0
  1017. data/lib/coss/types/webhook_endpoint_with_secret_object.rb +11 -0
  1018. data/lib/coss/types/webhook_listener.rb +21 -0
  1019. data/lib/coss/types/webhook_listener_ack.rb +17 -0
  1020. data/lib/coss/types/webhook_listener_delivery.rb +23 -0
  1021. data/lib/coss/types/webhook_listener_delivery_object.rb +11 -0
  1022. data/lib/coss/types/webhook_listener_object.rb +11 -0
  1023. data/lib/coss/types/webhook_listener_poll.rb +15 -0
  1024. data/lib/coss/types/webhook_listener_poll_object.rb +11 -0
  1025. data/lib/coss/types/webhook_test_event.rb +15 -0
  1026. data/lib/coss/types/webhook_test_event_event.rb +26 -0
  1027. data/lib/coss/types/webhook_test_event_object.rb +11 -0
  1028. data/lib/coss/version.rb +5 -0
  1029. data/lib/coss/webhook_endpoints/client.rb +325 -0
  1030. data/lib/coss/webhook_endpoints/deliveries/client.rb +153 -0
  1031. data/lib/coss/webhook_endpoints/deliveries/types/get_deliveries_request.rb +15 -0
  1032. data/lib/coss/webhook_endpoints/deliveries/types/list_deliveries_request.rb +21 -0
  1033. data/lib/coss/webhook_endpoints/deliveries/types/list_deliveries_request_status.rb +17 -0
  1034. data/lib/coss/webhook_endpoints/deliveries/types/retry_deliveries_request.rb +15 -0
  1035. data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request.rb +17 -0
  1036. data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_api_version.rb +13 -0
  1037. data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_event_types_item.rb +68 -0
  1038. data/lib/coss/webhook_endpoints/types/delete_webhook_endpoints_request.rb +11 -0
  1039. data/lib/coss/webhook_endpoints/types/get_webhook_endpoints_request.rb +11 -0
  1040. data/lib/coss/webhook_endpoints/types/recover_webhook_endpoint_request.rb +13 -0
  1041. data/lib/coss/webhook_endpoints/types/roll_webhook_endpoint_secret_request.rb +13 -0
  1042. data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request.rb +21 -0
  1043. data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_api_version.rb +13 -0
  1044. data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_event_types_item.rb +68 -0
  1045. data/lib/coss/webhook_events/client.rb +63 -0
  1046. data/lib/coss/webhook_events/types/create_test_webhook_event_request.rb +13 -0
  1047. data/lib/coss/webhook_events/types/create_test_webhook_event_request_type.rb +68 -0
  1048. data/lib/coss/webhook_listeners/client.rb +157 -0
  1049. data/lib/coss/webhook_listeners/types/create_webhook_listener_request.rb +15 -0
  1050. data/lib/coss/webhook_listeners/types/create_webhook_listener_request_api_version.rb +13 -0
  1051. data/lib/coss/webhook_listeners/types/create_webhook_listener_request_event_types_item.rb +68 -0
  1052. data/lib/coss/webhook_listeners/types/delete_webhook_listeners_request.rb +11 -0
  1053. data/lib/coss/webhook_listeners/types/poll_webhook_listener_request.rb +17 -0
  1054. data/lib/coss/webhooks.rb +98 -0
  1055. data/lib/coss.rb +1050 -0
  1056. data/reference.md +15152 -0
  1057. metadata +1097 -0
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Email
5
+ module Broadcasts
6
+ module Types
7
+ class SendBroadcastRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :scheduled_at, -> { String }, optional: true, 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 Email
5
+ module Broadcasts
6
+ module Types
7
+ class TestBroadcastRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :to, -> { Internal::Types::Array[String] }, optional: false, nullable: false
11
+
12
+ field :contact, -> { String }, optional: true, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Email
5
+ module Broadcasts
6
+ module Types
7
+ class UpdateBroadcastRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: true, nullable: false
11
+
12
+ field :audience_id, -> { String }, optional: true, nullable: false
13
+
14
+ field :segment_id, -> { String }, optional: true, nullable: false
15
+
16
+ field :topic, -> { String }, optional: true, nullable: false
17
+
18
+ field :from, -> { String }, optional: true, nullable: false
19
+
20
+ field :reply_to, -> { Internal::Types::Array[String] }, optional: true, nullable: false
21
+
22
+ field :subject, -> { String }, optional: true, nullable: false
23
+
24
+ field :preview_text, -> { String }, optional: true, nullable: false
25
+
26
+ field :html, -> { String }, optional: true, nullable: false
27
+
28
+ field :text, -> { String }, optional: true, nullable: false
29
+
30
+ field :tracking, -> { Coss::Email::Broadcasts::Types::UpdateBroadcastRequestTracking }, optional: true, nullable: false
31
+
32
+ field :rate_per_second, -> { Integer }, optional: true, nullable: false
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Email
5
+ module Broadcasts
6
+ module Types
7
+ class UpdateBroadcastRequestTracking < Internal::Types::Model
8
+ field :opens, -> { Internal::Types::Boolean }, optional: true, nullable: false
9
+
10
+ field :clicks, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,509 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Coss
4
+ module Email
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
+ # Emails sent from the API key's environment, newest first, without their content (retrieve an email for `html`,
14
+ # `text`, `headers` and `attachments`). Filter by recipient (`to`), by the email's or a recipient's status, by
15
+ # category, batch or creation time. Pass the last `id` as `after` to get the next 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 [String, nil] :to
25
+ # @option params [String, nil] :recipient_status
26
+ # @option params [String, nil] :status
27
+ # @option params [String, nil] :q
28
+ # @option params [String, nil] :category
29
+ # @option params [String, nil] :batch_id
30
+ # @option params [String, nil] :created_after
31
+ # @option params [String, nil] :created_before
32
+ # @option params [Integer, nil] :limit
33
+ # @option params [String, nil] :after
34
+ #
35
+ # @example
36
+ # client.email.list(to: "user@example.com")
37
+ #
38
+ # @return [Coss::Types::EmailSummaryList]
39
+ def list(request_options: {}, **params)
40
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
41
+ query_params = {}
42
+ query_params["to"] = params[:to] if params.key?(:to)
43
+ query_params["recipient_status"] = params[:recipient_status] if params.key?(:recipient_status)
44
+ query_params["status"] = params[:status] if params.key?(:status)
45
+ query_params["q"] = params[:q] if params.key?(:q)
46
+ query_params["category"] = params[:category] if params.key?(:category)
47
+ query_params["batch_id"] = params[:batch_id] if params.key?(:batch_id)
48
+ query_params["created_after"] = params[:created_after] if params.key?(:created_after)
49
+ query_params["created_before"] = params[:created_before] if params.key?(:created_before)
50
+ query_params["limit"] = params[:limit] if params.key?(:limit)
51
+ query_params["after"] = params[:after] if params.key?(:after)
52
+
53
+ request = Coss::Internal::JSON::Request.new(
54
+ base_url: request_options[:base_url],
55
+ method: "GET",
56
+ path: "v1/emails",
57
+ query: query_params,
58
+ request_options: request_options
59
+ )
60
+ begin
61
+ response = @client.send(request)
62
+ rescue Net::HTTPRequestTimeout
63
+ raise Coss::Errors::TimeoutError
64
+ end
65
+ code = response.code.to_i
66
+ if code.between?(200, 299)
67
+ (response.body.to_s.empty? ? nil : Coss::Types::EmailSummaryList.load(response.body))
68
+ else
69
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
70
+ raise error_class.new(response.body, code: code)
71
+ end
72
+ end
73
+
74
+ # Queues an email from the API key's environment and returns it with `status: "queued"`; it is handed to the
75
+ # delivery provider moments later. Follow it with `GET /v1/emails/{id}` or the `email.sent` / `email.failed`
76
+ # webhooks. Live (`coss_live_…`) keys must send from a verified domain of the organization. Sandbox
77
+ # (`coss_test_…`) keys accept any `from` and never deliver anything; the response has `sandbox: true`. Recipients
78
+ # on the environment's suppression list (for every email, or for the email's `category`) are skipped and get the
79
+ # status `suppressed`. With a future `scheduled_at` the email is stored with the status `scheduled` and sent at
80
+ # that time; the domain and the suppression list are checked again then. Attachments are base64-encoded; only
81
+ # metadata is kept after sending. Recipients count against the organization's send quota (per second and per day;
82
+ # sandbox environments have their own daily quota). With open or click tracking on (the environment's settings, or
83
+ # `tracking`), the HTML body is delivered with a tracking pixel and/or links rewritten to coss.com redirects; the
84
+ # stored `html` stays as sent.
85
+ #
86
+ # @param request_options [Hash]
87
+ # @param params [Coss::Types::SendEmailRequest]
88
+ # @option request_options [String] :base_url
89
+ # @option request_options [Hash{String => Object}] :additional_headers
90
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
91
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
92
+ # @option request_options [Integer] :timeout_in_seconds
93
+ # @option params [String, nil] :idempotency_key
94
+ #
95
+ # @example
96
+ # client.email.send_(
97
+ # idempotency_key: "welcome-user-123",
98
+ # from: "Acme <onboarding@acme.com>",
99
+ # to: "user@example.com",
100
+ # subject: "Welcome to Acme",
101
+ # html: "<p>Thanks for signing up!</p>",
102
+ # tags: [{
103
+ # name: "template",
104
+ # value: "welcome"
105
+ # }],
106
+ # category: "onboarding"
107
+ # )
108
+ #
109
+ # @return [Coss::Types::Email]
110
+ def send_(request_options: {}, **params)
111
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
112
+ headers = {}
113
+ headers["Idempotency-Key"] = params[:idempotency_key] if params[:idempotency_key]
114
+ params = params.except(:idempotency_key)
115
+
116
+ request = Coss::Internal::JSON::Request.new(
117
+ base_url: request_options[:base_url],
118
+ method: "POST",
119
+ path: "v1/emails",
120
+ headers: headers,
121
+ body: Coss::Types::SendEmailRequest.new(params).to_h,
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::Email.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
+ # Queues up to 100 emails in one request. Each email is handled exactly as by `POST /v1/emails` (sender checks,
139
+ # suppressions, scheduling, attachments, tracking), but the batch is all or nothing: if any email is invalid, or
140
+ # any `from` is not a verified domain (live keys), nothing is stored and the error names the email (e.g.
141
+ # `emails.3.to`). One `Idempotency-Key` covers the whole batch. The emails' recipients are charged against the
142
+ # send quota together, so a batch with more recipients than the quota allows at once is refused (`quota_exceeded`
143
+ # without `Retry-After`): split it. The request body shares the 40 MB limit of a single send.
144
+ #
145
+ # @param request_options [Hash]
146
+ # @param params [Coss::Email::Types::SendEmailBatchRequest]
147
+ # @option request_options [String] :base_url
148
+ # @option request_options [Hash{String => Object}] :additional_headers
149
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
150
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
151
+ # @option request_options [Integer] :timeout_in_seconds
152
+ # @option params [String, nil] :idempotency_key
153
+ #
154
+ # @example
155
+ # client.email.send_batch(
156
+ # idempotency_key: "welcome-user-123",
157
+ # emails: [{
158
+ # from: "Acme <notifications@acme.com>",
159
+ # to: "ada@example.com",
160
+ # subject: "Your weekly summary",
161
+ # html: "<p>Hi Ada, here is your week.</p>",
162
+ # category: "digest"
163
+ # }, {
164
+ # from: "Acme <notifications@acme.com>",
165
+ # to: "grace@example.com",
166
+ # subject: "Your weekly summary",
167
+ # html: "<p>Hi Grace, here is your week.</p>",
168
+ # category: "digest"
169
+ # }]
170
+ # )
171
+ #
172
+ # @return [Coss::Types::EmailBatch]
173
+ def send_batch(request_options: {}, **params)
174
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
175
+ request_data = Coss::Email::Types::SendEmailBatchRequest.new(params).to_h
176
+ non_body_param_names = %w[Idempotency-Key]
177
+ body = request_data.except(*non_body_param_names)
178
+
179
+ headers = {}
180
+ headers["Idempotency-Key"] = params[:idempotency_key] if params[:idempotency_key]
181
+
182
+ request = Coss::Internal::JSON::Request.new(
183
+ base_url: request_options[:base_url],
184
+ method: "POST",
185
+ path: "v1/emails/batch",
186
+ headers: headers,
187
+ body: body,
188
+ request_options: request_options
189
+ )
190
+ begin
191
+ response = @client.send(request)
192
+ rescue Net::HTTPRequestTimeout
193
+ raise Coss::Errors::TimeoutError
194
+ end
195
+ code = response.code.to_i
196
+ if code.between?(200, 299)
197
+ (response.body.to_s.empty? ? nil : Coss::Types::EmailBatch.load(response.body))
198
+ else
199
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
200
+ raise error_class.new(response.body, code: code)
201
+ end
202
+ end
203
+
204
+ # A batch sent with `POST /v1/emails/batch`, with its emails' current statuses in the order of the request. Emails
205
+ # past the data retention period are left out. Only batches sent from the API key's own environment can be
206
+ # retrieved.
207
+ #
208
+ # @param request_options [Hash]
209
+ # @param params [Hash]
210
+ # @option request_options [String] :base_url
211
+ # @option request_options [Hash{String => Object}] :additional_headers
212
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
213
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
214
+ # @option request_options [Integer] :timeout_in_seconds
215
+ # @option params [String] :id
216
+ #
217
+ # @example
218
+ # client.email.get_batch(id: "batch_01k8d0n6x5f3w2e1r9t7y4u6i8")
219
+ #
220
+ # @return [Coss::Types::EmailBatch]
221
+ def get_batch(request_options: {}, **params)
222
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
223
+ request = Coss::Internal::JSON::Request.new(
224
+ base_url: request_options[:base_url],
225
+ method: "GET",
226
+ path: "v1/emails/batch/#{URI.encode_uri_component(params[:id].to_s)}",
227
+ request_options: request_options
228
+ )
229
+ begin
230
+ response = @client.send(request)
231
+ rescue Net::HTTPRequestTimeout
232
+ raise Coss::Errors::TimeoutError
233
+ end
234
+ code = response.code.to_i
235
+ if code.between?(200, 299)
236
+ (response.body.to_s.empty? ? nil : Coss::Types::EmailBatch.load(response.body))
237
+ else
238
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
239
+ raise error_class.new(response.body, code: code)
240
+ end
241
+ end
242
+
243
+ # Only emails sent from the API key's own environment can be retrieved.
244
+ #
245
+ # @param request_options [Hash]
246
+ # @param params [Hash]
247
+ # @option request_options [String] :base_url
248
+ # @option request_options [Hash{String => Object}] :additional_headers
249
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
250
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
251
+ # @option request_options [Integer] :timeout_in_seconds
252
+ # @option params [String] :id
253
+ #
254
+ # @example
255
+ # client.email.get(id: "email_01k7c8m4q2f3e9v6t5r1n0p8yz")
256
+ #
257
+ # @return [Coss::Types::Email]
258
+ def get(request_options: {}, **params)
259
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
260
+ request = Coss::Internal::JSON::Request.new(
261
+ base_url: request_options[:base_url],
262
+ method: "GET",
263
+ path: "v1/emails/#{URI.encode_uri_component(params[:id].to_s)}",
264
+ request_options: request_options
265
+ )
266
+ begin
267
+ response = @client.send(request)
268
+ rescue Net::HTTPRequestTimeout
269
+ raise Coss::Errors::TimeoutError
270
+ end
271
+ code = response.code.to_i
272
+ if code.between?(200, 299)
273
+ (response.body.to_s.empty? ? nil : Coss::Types::Email.load(response.body))
274
+ else
275
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
276
+ raise error_class.new(response.body, code: code)
277
+ end
278
+ end
279
+
280
+ # Cancels an email sent with a future `scheduled_at` before it is sent. Canceling an already canceled email
281
+ # returns it unchanged. To send it at another time, reschedule it instead.
282
+ #
283
+ # @param request_options [Hash]
284
+ # @param params [Hash]
285
+ # @option request_options [String] :base_url
286
+ # @option request_options [Hash{String => Object}] :additional_headers
287
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
288
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
289
+ # @option request_options [Integer] :timeout_in_seconds
290
+ # @option params [String] :id
291
+ #
292
+ # @example
293
+ # client.email.cancel(id: "email_01k7c8m4q2f3e9v6t5r1n0p8yz")
294
+ #
295
+ # @return [Coss::Types::Email]
296
+ def cancel(request_options: {}, **params)
297
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
298
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
299
+ request = Coss::Internal::JSON::Request.new(
300
+ base_url: request_options[:base_url],
301
+ method: "POST",
302
+ path: "v1/emails/#{URI.encode_uri_component(params[:id].to_s)}/cancel",
303
+ headers: headers,
304
+ request_options: request_options
305
+ )
306
+ begin
307
+ response = @client.send(request)
308
+ rescue Net::HTTPRequestTimeout
309
+ raise Coss::Errors::TimeoutError
310
+ end
311
+ code = response.code.to_i
312
+ if code.between?(200, 299)
313
+ (response.body.to_s.empty? ? nil : Coss::Types::Email.load(response.body))
314
+ else
315
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
316
+ raise error_class.new(response.body, code: code)
317
+ end
318
+ end
319
+
320
+ # Moves an email sent with a future `scheduled_at` to a new time, at most 30 days from now, and records an
321
+ # `email.rescheduled` event. A time that is not in the future sends it within seconds. Rescheduling to the time it
322
+ # already has returns it unchanged. The domain and the suppression list are still checked when it is sent.
323
+ #
324
+ # @param request_options [Hash]
325
+ # @param params [Coss::Email::Types::RescheduleEmailRequest]
326
+ # @option request_options [String] :base_url
327
+ # @option request_options [Hash{String => Object}] :additional_headers
328
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
329
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
330
+ # @option request_options [Integer] :timeout_in_seconds
331
+ # @option params [String] :id
332
+ #
333
+ # @example
334
+ # client.email.reschedule(
335
+ # id: "email_01k7c8m4q2f3e9v6t5r1n0p8yz",
336
+ # scheduled_at: "2026-10-12T09:00:00Z"
337
+ # )
338
+ #
339
+ # @return [Coss::Types::Email]
340
+ def reschedule(request_options: {}, **params)
341
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
342
+ request_data = Coss::Email::Types::RescheduleEmailRequest.new(params).to_h
343
+ non_body_param_names = %w[id]
344
+ body = request_data.except(*non_body_param_names)
345
+
346
+ headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
347
+ request = Coss::Internal::JSON::Request.new(
348
+ base_url: request_options[:base_url],
349
+ method: "POST",
350
+ path: "v1/emails/#{URI.encode_uri_component(params[:id].to_s)}/reschedule",
351
+ headers: headers,
352
+ body: body,
353
+ request_options: request_options
354
+ )
355
+ begin
356
+ response = @client.send(request)
357
+ rescue Net::HTTPRequestTimeout
358
+ raise Coss::Errors::TimeoutError
359
+ end
360
+ code = response.code.to_i
361
+ if code.between?(200, 299)
362
+ (response.body.to_s.empty? ? nil : Coss::Types::Email.load(response.body))
363
+ else
364
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
365
+ raise error_class.new(response.body, code: code)
366
+ end
367
+ end
368
+
369
+ # Every delivery event of the email, oldest first: `email.scheduled`, `email.rescheduled`, `email.canceled`,
370
+ # `email.sent` and `email.failed` for the whole email, and `email.delivered`, `email.delivery_delayed`,
371
+ # `email.bounced`, `email.complained` and `email.suppressed` (skipped because of the suppression list) per
372
+ # recipient, plus `email.opened` and `email.clicked` when tracking is on (attributed to a recipient only when the
373
+ # email had a single one) and `email.unsubscribed` after a one-click unsubscribe.
374
+ #
375
+ # @param request_options [Hash]
376
+ # @param params [Hash]
377
+ # @option request_options [String] :base_url
378
+ # @option request_options [Hash{String => Object}] :additional_headers
379
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
380
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
381
+ # @option request_options [Integer] :timeout_in_seconds
382
+ # @option params [String] :id
383
+ #
384
+ # @example
385
+ # client.email.list_events(id: "email_01k7c8m4q2f3e9v6t5r1n0p8yz")
386
+ #
387
+ # @return [Coss::Types::EmailEventList]
388
+ def list_events(request_options: {}, **params)
389
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
390
+ request = Coss::Internal::JSON::Request.new(
391
+ base_url: request_options[:base_url],
392
+ method: "GET",
393
+ path: "v1/emails/#{URI.encode_uri_component(params[:id].to_s)}/events",
394
+ request_options: request_options
395
+ )
396
+ begin
397
+ response = @client.send(request)
398
+ rescue Net::HTTPRequestTimeout
399
+ raise Coss::Errors::TimeoutError
400
+ end
401
+ code = response.code.to_i
402
+ if code.between?(200, 299)
403
+ (response.body.to_s.empty? ? nil : Coss::Types::EmailEventList.load(response.body))
404
+ else
405
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
406
+ raise error_class.new(response.body, code: code)
407
+ end
408
+ end
409
+
410
+ # The links coss.com rewrote for click tracking, in the order they appear in the HTML, with their click counts.
411
+ # Empty unless the email was sent with click tracking.
412
+ #
413
+ # @param request_options [Hash]
414
+ # @param params [Hash]
415
+ # @option request_options [String] :base_url
416
+ # @option request_options [Hash{String => Object}] :additional_headers
417
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
418
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
419
+ # @option request_options [Integer] :timeout_in_seconds
420
+ # @option params [String] :id
421
+ #
422
+ # @example
423
+ # client.email.list_links(id: "email_01k7c8m4q2f3e9v6t5r1n0p8yz")
424
+ #
425
+ # @return [Coss::Types::EmailLinkList]
426
+ def list_links(request_options: {}, **params)
427
+ params = Coss::Internal::Types::Utils.normalize_keys(params)
428
+ request = Coss::Internal::JSON::Request.new(
429
+ base_url: request_options[:base_url],
430
+ method: "GET",
431
+ path: "v1/emails/#{URI.encode_uri_component(params[:id].to_s)}/links",
432
+ request_options: request_options
433
+ )
434
+ begin
435
+ response = @client.send(request)
436
+ rescue Net::HTTPRequestTimeout
437
+ raise Coss::Errors::TimeoutError
438
+ end
439
+ code = response.code.to_i
440
+ if code.between?(200, 299)
441
+ (response.body.to_s.empty? ? nil : Coss::Types::EmailLinkList.load(response.body))
442
+ else
443
+ error_class = Coss::Errors::ResponseError.subclass_for_code(code)
444
+ raise error_class.new(response.body, code: code)
445
+ end
446
+ end
447
+
448
+ # @return [Coss::Templates::Client]
449
+ def templates
450
+ @templates ||= Coss::Email::Templates::Client.new(client: @client)
451
+ end
452
+
453
+ # @return [Coss::DedicatedIps::Client]
454
+ def dedicated_ips
455
+ @dedicated_ips ||= Coss::Email::DedicatedIps::Client.new(client: @client)
456
+ end
457
+
458
+ # @return [Coss::Suppressions::Client]
459
+ def suppressions
460
+ @suppressions ||= Coss::Email::Suppressions::Client.new(client: @client)
461
+ end
462
+
463
+ # @return [Coss::Tracking::Client]
464
+ def tracking
465
+ @tracking ||= Coss::Email::Tracking::Client.new(client: @client)
466
+ end
467
+
468
+ # @return [Coss::Storage::Client]
469
+ def storage
470
+ @storage ||= Coss::Email::Storage::Client.new(client: @client)
471
+ end
472
+
473
+ # @return [Coss::Contacts::Client]
474
+ def contacts
475
+ @contacts ||= Coss::Email::Contacts::Client.new(client: @client)
476
+ end
477
+
478
+ # @return [Coss::Broadcasts::Client]
479
+ def broadcasts
480
+ @broadcasts ||= Coss::Email::Broadcasts::Client.new(client: @client)
481
+ end
482
+
483
+ # @return [Coss::Audiences::Client]
484
+ def audiences
485
+ @audiences ||= Coss::Email::Audiences::Client.new(client: @client)
486
+ end
487
+
488
+ # @return [Coss::Segments::Client]
489
+ def segments
490
+ @segments ||= Coss::Email::Segments::Client.new(client: @client)
491
+ end
492
+
493
+ # @return [Coss::Topics::Client]
494
+ def topics
495
+ @topics ||= Coss::Email::Topics::Client.new(client: @client)
496
+ end
497
+
498
+ # @return [Coss::MarketingSettings::Client]
499
+ def marketing_settings
500
+ @marketing_settings ||= Coss::Email::MarketingSettings::Client.new(client: @client)
501
+ end
502
+
503
+ # @return [Coss::Received::Client]
504
+ def received
505
+ @received ||= Coss::Email::Received::Client.new(client: @client)
506
+ end
507
+ end
508
+ end
509
+ end