trycourier 4.7.1 → 4.9.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 (418) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +63 -0
  3. data/README.md +25 -235
  4. data/lib/courier/client.rb +12 -0
  5. data/lib/courier/internal/util.rb +50 -6
  6. data/lib/courier/models/audience_delete_params.rb +7 -1
  7. data/lib/courier/models/audience_list_members_params.rb +8 -1
  8. data/lib/courier/models/audience_retrieve_params.rb +7 -1
  9. data/lib/courier/models/audience_update_params.rb +8 -1
  10. data/lib/courier/models/audit_event_retrieve_params.rb +7 -1
  11. data/lib/courier/models/automations/invoke_invoke_by_template_params.rb +7 -1
  12. data/lib/courier/models/brand_delete_params.rb +7 -1
  13. data/lib/courier/models/brand_retrieve_params.rb +7 -1
  14. data/lib/courier/models/brand_update_params.rb +8 -1
  15. data/lib/courier/models/bulk_add_users_params.rb +7 -1
  16. data/lib/courier/models/bulk_list_users_params.rb +8 -1
  17. data/lib/courier/models/bulk_retrieve_job_params.rb +7 -1
  18. data/lib/courier/models/bulk_run_job_params.rb +7 -1
  19. data/lib/courier/models/channel.rb +75 -0
  20. data/lib/courier/models/channel_metadata.rb +15 -0
  21. data/lib/courier/models/elemental_content.rb +3 -10
  22. data/lib/courier/models/elemental_html_node_with_type.rb +24 -0
  23. data/lib/courier/models/elemental_node.rb +3 -1
  24. data/lib/courier/models/journey.rb +63 -0
  25. data/lib/courier/models/journey_invoke_params.rb +20 -0
  26. data/lib/courier/models/journey_list_params.rb +47 -0
  27. data/lib/courier/models/journeys_invoke_request.rb +49 -0
  28. data/lib/courier/models/journeys_invoke_response.rb +17 -0
  29. data/lib/courier/models/journeys_list_response.rb +24 -0
  30. data/lib/courier/models/list_delete_params.rb +7 -1
  31. data/lib/courier/models/list_restore_params.rb +7 -1
  32. data/lib/courier/models/list_retrieve_params.rb +7 -1
  33. data/lib/courier/models/list_update_params.rb +7 -1
  34. data/lib/courier/models/lists/subscription_add_params.rb +7 -1
  35. data/lib/courier/models/lists/subscription_list_params.rb +8 -1
  36. data/lib/courier/models/lists/subscription_subscribe_params.rb +7 -1
  37. data/lib/courier/models/lists/subscription_subscribe_user_params.rb +7 -1
  38. data/lib/courier/models/lists/subscription_unsubscribe_user_params.rb +7 -1
  39. data/lib/courier/models/message_cancel_params.rb +7 -1
  40. data/lib/courier/models/message_channels.rb +8 -0
  41. data/lib/courier/models/message_content_params.rb +7 -1
  42. data/lib/courier/models/message_details.rb +37 -37
  43. data/lib/courier/models/message_history_params.rb +8 -1
  44. data/lib/courier/models/message_providers.rb +8 -0
  45. data/lib/courier/models/message_providers_type.rb +38 -0
  46. data/lib/courier/models/message_retrieve_params.rb +7 -1
  47. data/lib/courier/models/metadata.rb +15 -0
  48. data/lib/courier/models/notification_archive_params.rb +20 -0
  49. data/lib/courier/models/notification_create_params.rb +14 -0
  50. data/lib/courier/models/notification_list_params.rb +13 -4
  51. data/lib/courier/models/notification_list_response.rb +108 -93
  52. data/lib/courier/models/notification_list_versions_params.rb +37 -0
  53. data/lib/courier/models/notification_publish_params.rb +20 -0
  54. data/lib/courier/models/notification_replace_params.rb +20 -0
  55. data/lib/courier/models/notification_retrieve_content_params.rb +7 -1
  56. data/lib/courier/models/notification_retrieve_params.rb +33 -0
  57. data/lib/courier/models/notification_template_create_request.rb +45 -0
  58. data/lib/courier/models/notification_template_get_response.rb +92 -0
  59. data/lib/courier/models/notification_template_mutation_response.rb +51 -0
  60. data/lib/courier/models/notification_template_payload.rb +98 -0
  61. data/lib/courier/models/notification_template_publish_request.rb +19 -0
  62. data/lib/courier/models/notification_template_summary.rb +81 -0
  63. data/lib/courier/models/notification_template_update_request.rb +46 -0
  64. data/lib/courier/models/notification_template_version_list_response.rb +22 -0
  65. data/lib/courier/models/notifications/check_delete_params.rb +7 -1
  66. data/lib/courier/models/notifications/check_list_params.rb +7 -1
  67. data/lib/courier/models/notifications/check_update_params.rb +7 -1
  68. data/lib/courier/models/notifications/draft_retrieve_content_params.rb +7 -1
  69. data/lib/courier/models/profile_create_params.rb +7 -1
  70. data/lib/courier/models/profile_delete_params.rb +7 -1
  71. data/lib/courier/models/profile_replace_params.rb +7 -1
  72. data/lib/courier/models/profile_retrieve_params.rb +7 -1
  73. data/lib/courier/models/profile_update_params.rb +8 -1
  74. data/lib/courier/models/profiles/list_delete_params.rb +7 -1
  75. data/lib/courier/models/profiles/list_retrieve_params.rb +8 -1
  76. data/lib/courier/models/profiles/list_subscribe_params.rb +7 -1
  77. data/lib/courier/models/provider.rb +67 -0
  78. data/lib/courier/models/provider_create_params.rb +52 -0
  79. data/lib/courier/models/provider_delete_params.rb +20 -0
  80. data/lib/courier/models/provider_list_params.rb +22 -0
  81. data/lib/courier/models/provider_list_response.rb +24 -0
  82. data/lib/courier/models/provider_retrieve_params.rb +20 -0
  83. data/lib/courier/models/provider_update_params.rb +58 -0
  84. data/lib/courier/models/providers/catalog_list_params.rb +44 -0
  85. data/lib/courier/models/providers/catalog_list_response.rb +26 -0
  86. data/lib/courier/models/providers_catalog_entry.rb +86 -0
  87. data/lib/courier/models/request_archive_params.rb +7 -1
  88. data/lib/courier/models/routing_strategy_archive_params.rb +20 -0
  89. data/lib/courier/models/routing_strategy_create_params.rb +14 -0
  90. data/lib/courier/models/routing_strategy_create_request.rb +58 -0
  91. data/lib/courier/models/routing_strategy_get_response.rb +99 -0
  92. data/lib/courier/models/routing_strategy_list_params.rb +30 -0
  93. data/lib/courier/models/routing_strategy_list_response.rb +24 -0
  94. data/lib/courier/models/routing_strategy_mutation_response.rb +19 -0
  95. data/lib/courier/models/routing_strategy_replace_params.rb +20 -0
  96. data/lib/courier/models/routing_strategy_replace_request.rb +59 -0
  97. data/lib/courier/models/routing_strategy_retrieve_params.rb +20 -0
  98. data/lib/courier/models/routing_strategy_summary.rb +75 -0
  99. data/lib/courier/models/send_message_params.rb +6 -154
  100. data/lib/courier/models/tenant_delete_params.rb +7 -1
  101. data/lib/courier/models/tenant_list_users_params.rb +8 -1
  102. data/lib/courier/models/tenant_retrieve_params.rb +7 -1
  103. data/lib/courier/models/tenant_template_input.rb +6 -152
  104. data/lib/courier/models/tenant_update_params.rb +8 -1
  105. data/lib/courier/models/tenants/preferences/item_delete_params.rb +7 -1
  106. data/lib/courier/models/tenants/preferences/item_update_params.rb +7 -1
  107. data/lib/courier/models/tenants/template_list_params.rb +8 -1
  108. data/lib/courier/models/tenants/template_publish_params.rb +7 -1
  109. data/lib/courier/models/tenants/template_replace_params.rb +7 -1
  110. data/lib/courier/models/tenants/template_retrieve_params.rb +7 -1
  111. data/lib/courier/models/tenants/templates/version_retrieve_params.rb +7 -1
  112. data/lib/courier/models/timeouts.rb +21 -0
  113. data/lib/courier/models/translation_retrieve_params.rb +7 -1
  114. data/lib/courier/models/translation_update_params.rb +7 -1
  115. data/lib/courier/models/users/preference_retrieve_params.rb +8 -1
  116. data/lib/courier/models/users/preference_retrieve_topic_params.rb +8 -1
  117. data/lib/courier/models/users/preference_update_or_create_topic_params.rb +8 -1
  118. data/lib/courier/models/users/tenant_add_multiple_params.rb +7 -1
  119. data/lib/courier/models/users/tenant_add_single_params.rb +7 -1
  120. data/lib/courier/models/users/tenant_list_params.rb +8 -1
  121. data/lib/courier/models/users/tenant_remove_all_params.rb +7 -1
  122. data/lib/courier/models/users/tenant_remove_single_params.rb +7 -1
  123. data/lib/courier/models/users/token_add_multiple_params.rb +7 -1
  124. data/lib/courier/models/users/token_add_single_params.rb +168 -2
  125. data/lib/courier/models/users/token_delete_params.rb +7 -1
  126. data/lib/courier/models/users/token_list_params.rb +7 -1
  127. data/lib/courier/models/users/token_retrieve_params.rb +7 -1
  128. data/lib/courier/models/users/token_update_params.rb +7 -1
  129. data/lib/courier/models/version_node.rb +46 -0
  130. data/lib/courier/models.rb +98 -0
  131. data/lib/courier/resources/audiences.rb +4 -2
  132. data/lib/courier/resources/audit_events.rb +2 -1
  133. data/lib/courier/resources/automations.rb +2 -1
  134. data/lib/courier/resources/brands.rb +2 -1
  135. data/lib/courier/resources/bulk.rb +2 -1
  136. data/lib/courier/resources/journeys.rb +73 -0
  137. data/lib/courier/resources/lists/subscriptions.rb +2 -1
  138. data/lib/courier/resources/lists.rb +2 -1
  139. data/lib/courier/resources/messages.rb +4 -2
  140. data/lib/courier/resources/notifications.rb +167 -4
  141. data/lib/courier/resources/profiles/lists.rb +2 -1
  142. data/lib/courier/resources/providers/catalog.rb +49 -0
  143. data/lib/courier/resources/providers.rb +150 -0
  144. data/lib/courier/resources/routing_strategies.rb +151 -0
  145. data/lib/courier/resources/tenants/templates.rb +2 -1
  146. data/lib/courier/resources/tenants.rb +4 -2
  147. data/lib/courier/resources/users/preferences.rb +7 -4
  148. data/lib/courier/resources/users/tenants.rb +2 -1
  149. data/lib/courier/resources/users/tokens.rb +7 -9
  150. data/lib/courier/version.rb +1 -1
  151. data/lib/courier.rb +54 -0
  152. data/rbi/courier/client.rbi +9 -0
  153. data/rbi/courier/internal/util.rbi +28 -0
  154. data/rbi/courier/models/audience_delete_params.rbi +13 -5
  155. data/rbi/courier/models/audience_list_members_params.rbi +6 -0
  156. data/rbi/courier/models/audience_retrieve_params.rbi +13 -5
  157. data/rbi/courier/models/audience_update_params.rbi +6 -0
  158. data/rbi/courier/models/audit_event_retrieve_params.rbi +13 -5
  159. data/rbi/courier/models/automations/invoke_invoke_by_template_params.rbi +6 -0
  160. data/rbi/courier/models/brand_delete_params.rbi +13 -5
  161. data/rbi/courier/models/brand_retrieve_params.rbi +13 -5
  162. data/rbi/courier/models/brand_update_params.rbi +6 -0
  163. data/rbi/courier/models/bulk_add_users_params.rbi +6 -1
  164. data/rbi/courier/models/bulk_list_users_params.rbi +6 -0
  165. data/rbi/courier/models/bulk_retrieve_job_params.rbi +13 -5
  166. data/rbi/courier/models/bulk_run_job_params.rbi +13 -5
  167. data/rbi/courier/models/channel.rbi +106 -0
  168. data/rbi/courier/models/channel_metadata.rbi +28 -0
  169. data/rbi/courier/models/elemental_content.rbi +9 -12
  170. data/rbi/courier/models/elemental_html_node_with_type.rbi +59 -0
  171. data/rbi/courier/models/elemental_node.rbi +2 -1
  172. data/rbi/courier/models/journey.rbi +91 -0
  173. data/rbi/courier/models/journey_invoke_params.rbi +35 -0
  174. data/rbi/courier/models/journey_list_params.rbi +85 -0
  175. data/rbi/courier/models/journeys_invoke_request.rbi +84 -0
  176. data/rbi/courier/models/journeys_invoke_response.rbi +27 -0
  177. data/rbi/courier/models/journeys_list_response.rbi +46 -0
  178. data/rbi/courier/models/list_delete_params.rbi +13 -5
  179. data/rbi/courier/models/list_restore_params.rbi +13 -5
  180. data/rbi/courier/models/list_retrieve_params.rbi +13 -5
  181. data/rbi/courier/models/list_update_params.rbi +6 -1
  182. data/rbi/courier/models/lists/subscription_add_params.rbi +6 -1
  183. data/rbi/courier/models/lists/subscription_list_params.rbi +6 -0
  184. data/rbi/courier/models/lists/subscription_subscribe_params.rbi +6 -1
  185. data/rbi/courier/models/lists/subscription_subscribe_user_params.rbi +6 -1
  186. data/rbi/courier/models/lists/subscription_unsubscribe_user_params.rbi +10 -2
  187. data/rbi/courier/models/message_cancel_params.rbi +13 -5
  188. data/rbi/courier/models/message_channels.rbi +11 -0
  189. data/rbi/courier/models/message_content_params.rbi +13 -5
  190. data/rbi/courier/models/message_details.rbi +55 -43
  191. data/rbi/courier/models/message_history_params.rbi +10 -1
  192. data/rbi/courier/models/message_providers.rbi +11 -0
  193. data/rbi/courier/models/message_providers_type.rbi +60 -0
  194. data/rbi/courier/models/message_retrieve_params.rbi +13 -5
  195. data/rbi/courier/models/metadata.rbi +26 -0
  196. data/rbi/courier/models/notification_archive_params.rbi +35 -0
  197. data/rbi/courier/models/notification_create_params.rbi +27 -0
  198. data/rbi/courier/models/notification_list_params.rbi +15 -2
  199. data/rbi/courier/models/notification_list_response.rbi +159 -119
  200. data/rbi/courier/models/notification_list_versions_params.rbi +66 -0
  201. data/rbi/courier/models/notification_publish_params.rbi +35 -0
  202. data/rbi/courier/models/notification_replace_params.rbi +35 -0
  203. data/rbi/courier/models/notification_retrieve_content_params.rbi +13 -5
  204. data/rbi/courier/models/notification_retrieve_params.rbi +54 -0
  205. data/rbi/courier/models/notification_template_create_request.rbi +102 -0
  206. data/rbi/courier/models/notification_template_get_response.rbi +162 -0
  207. data/rbi/courier/models/notification_template_mutation_response.rbi +121 -0
  208. data/rbi/courier/models/notification_template_payload.rbi +183 -0
  209. data/rbi/courier/models/notification_template_publish_request.rbi +35 -0
  210. data/rbi/courier/models/notification_template_summary.rbi +124 -0
  211. data/rbi/courier/models/notification_template_update_request.rbi +103 -0
  212. data/rbi/courier/models/notification_template_version_list_response.rbi +41 -0
  213. data/rbi/courier/models/notifications/check_delete_params.rbi +10 -2
  214. data/rbi/courier/models/notifications/check_list_params.rbi +10 -2
  215. data/rbi/courier/models/notifications/check_update_params.rbi +6 -1
  216. data/rbi/courier/models/notifications/draft_retrieve_content_params.rbi +13 -5
  217. data/rbi/courier/models/profile_create_params.rbi +6 -1
  218. data/rbi/courier/models/profile_delete_params.rbi +13 -5
  219. data/rbi/courier/models/profile_replace_params.rbi +6 -1
  220. data/rbi/courier/models/profile_retrieve_params.rbi +13 -5
  221. data/rbi/courier/models/profile_update_params.rbi +6 -0
  222. data/rbi/courier/models/profiles/list_delete_params.rbi +13 -5
  223. data/rbi/courier/models/profiles/list_retrieve_params.rbi +6 -0
  224. data/rbi/courier/models/profiles/list_subscribe_params.rbi +6 -1
  225. data/rbi/courier/models/provider.rbi +87 -0
  226. data/rbi/courier/models/provider_create_params.rbi +82 -0
  227. data/rbi/courier/models/provider_delete_params.rbi +35 -0
  228. data/rbi/courier/models/provider_list_params.rbi +43 -0
  229. data/rbi/courier/models/provider_list_response.rbi +42 -0
  230. data/rbi/courier/models/provider_retrieve_params.rbi +35 -0
  231. data/rbi/courier/models/provider_update_params.rbi +86 -0
  232. data/rbi/courier/models/providers/catalog_list_params.rbi +75 -0
  233. data/rbi/courier/models/providers/catalog_list_response.rbi +47 -0
  234. data/rbi/courier/models/providers_catalog_entry.rbi +129 -0
  235. data/rbi/courier/models/request_archive_params.rbi +13 -5
  236. data/rbi/courier/models/routing_strategy_archive_params.rbi +38 -0
  237. data/rbi/courier/models/routing_strategy_create_params.rbi +30 -0
  238. data/rbi/courier/models/routing_strategy_create_request.rbi +86 -0
  239. data/rbi/courier/models/routing_strategy_get_response.rbi +121 -0
  240. data/rbi/courier/models/routing_strategy_list_params.rbi +54 -0
  241. data/rbi/courier/models/routing_strategy_list_response.rbi +45 -0
  242. data/rbi/courier/models/routing_strategy_mutation_response.rbi +31 -0
  243. data/rbi/courier/models/routing_strategy_replace_params.rbi +38 -0
  244. data/rbi/courier/models/routing_strategy_replace_request.rbi +87 -0
  245. data/rbi/courier/models/routing_strategy_retrieve_params.rbi +38 -0
  246. data/rbi/courier/models/routing_strategy_summary.rbi +95 -0
  247. data/rbi/courier/models/send_message_params.rbi +6 -362
  248. data/rbi/courier/models/tenant_delete_params.rbi +13 -5
  249. data/rbi/courier/models/tenant_list_users_params.rbi +6 -0
  250. data/rbi/courier/models/tenant_retrieve_params.rbi +13 -5
  251. data/rbi/courier/models/tenant_template_input.rbi +8 -336
  252. data/rbi/courier/models/tenant_update_params.rbi +6 -0
  253. data/rbi/courier/models/tenants/preferences/item_delete_params.rbi +10 -2
  254. data/rbi/courier/models/tenants/preferences/item_update_params.rbi +10 -2
  255. data/rbi/courier/models/tenants/template_list_params.rbi +6 -0
  256. data/rbi/courier/models/tenants/template_publish_params.rbi +10 -2
  257. data/rbi/courier/models/tenants/template_replace_params.rbi +10 -2
  258. data/rbi/courier/models/tenants/template_retrieve_params.rbi +10 -2
  259. data/rbi/courier/models/tenants/templates/version_retrieve_params.rbi +6 -1
  260. data/rbi/courier/models/timeouts.rbi +33 -0
  261. data/rbi/courier/models/translation_retrieve_params.rbi +10 -2
  262. data/rbi/courier/models/translation_update_params.rbi +6 -1
  263. data/rbi/courier/models/users/preference_retrieve_params.rbi +6 -0
  264. data/rbi/courier/models/users/preference_retrieve_topic_params.rbi +6 -0
  265. data/rbi/courier/models/users/preference_update_or_create_topic_params.rbi +6 -0
  266. data/rbi/courier/models/users/tenant_add_multiple_params.rbi +6 -1
  267. data/rbi/courier/models/users/tenant_add_single_params.rbi +6 -1
  268. data/rbi/courier/models/users/tenant_list_params.rbi +6 -0
  269. data/rbi/courier/models/users/tenant_remove_all_params.rbi +13 -5
  270. data/rbi/courier/models/users/tenant_remove_single_params.rbi +10 -2
  271. data/rbi/courier/models/users/token_add_multiple_params.rbi +13 -5
  272. data/rbi/courier/models/users/token_add_single_params.rbi +290 -3
  273. data/rbi/courier/models/users/token_delete_params.rbi +10 -2
  274. data/rbi/courier/models/users/token_list_params.rbi +13 -5
  275. data/rbi/courier/models/users/token_retrieve_params.rbi +10 -2
  276. data/rbi/courier/models/users/token_update_params.rbi +6 -1
  277. data/rbi/courier/models/version_node.rbi +65 -0
  278. data/rbi/courier/models.rbi +106 -0
  279. data/rbi/courier/resources/journeys.rbi +64 -0
  280. data/rbi/courier/resources/notifications.rbi +119 -1
  281. data/rbi/courier/resources/providers/catalog.rbi +38 -0
  282. data/rbi/courier/resources/providers.rbi +116 -0
  283. data/rbi/courier/resources/routing_strategies.rbi +126 -0
  284. data/rbi/courier/resources/users/tokens.rbi +11 -9
  285. data/sig/courier/client.rbs +6 -0
  286. data/sig/courier/internal/util.rbs +14 -0
  287. data/sig/courier/models/audience_delete_params.rbs +11 -3
  288. data/sig/courier/models/audience_list_members_params.rbs +6 -1
  289. data/sig/courier/models/audience_retrieve_params.rbs +11 -3
  290. data/sig/courier/models/audience_update_params.rbs +5 -0
  291. data/sig/courier/models/audit_event_retrieve_params.rbs +11 -3
  292. data/sig/courier/models/automations/invoke_invoke_by_template_params.rbs +5 -0
  293. data/sig/courier/models/brand_delete_params.rbs +11 -3
  294. data/sig/courier/models/brand_retrieve_params.rbs +11 -3
  295. data/sig/courier/models/brand_update_params.rbs +5 -0
  296. data/sig/courier/models/bulk_add_users_params.rbs +5 -1
  297. data/sig/courier/models/bulk_list_users_params.rbs +6 -1
  298. data/sig/courier/models/bulk_retrieve_job_params.rbs +11 -3
  299. data/sig/courier/models/bulk_run_job_params.rbs +11 -3
  300. data/sig/courier/models/channel.rbs +61 -0
  301. data/sig/courier/models/channel_metadata.rbs +13 -0
  302. data/sig/courier/models/elemental_content.rbs +3 -11
  303. data/sig/courier/models/elemental_html_node_with_type.rbs +32 -0
  304. data/sig/courier/models/elemental_node.rbs +1 -0
  305. data/sig/courier/models/journey.rbs +55 -0
  306. data/sig/courier/models/journey_invoke_params.rbs +25 -0
  307. data/sig/courier/models/journey_list_params.rbs +45 -0
  308. data/sig/courier/models/journeys_invoke_request.rbs +36 -0
  309. data/sig/courier/models/journeys_invoke_response.rbs +13 -0
  310. data/sig/courier/models/journeys_list_response.rbs +23 -0
  311. data/sig/courier/models/list_delete_params.rbs +12 -3
  312. data/sig/courier/models/list_restore_params.rbs +11 -3
  313. data/sig/courier/models/list_retrieve_params.rbs +11 -3
  314. data/sig/courier/models/list_update_params.rbs +9 -1
  315. data/sig/courier/models/lists/subscription_add_params.rbs +8 -1
  316. data/sig/courier/models/lists/subscription_list_params.rbs +6 -1
  317. data/sig/courier/models/lists/subscription_subscribe_params.rbs +8 -1
  318. data/sig/courier/models/lists/subscription_subscribe_user_params.rbs +9 -1
  319. data/sig/courier/models/lists/subscription_unsubscribe_user_params.rbs +6 -1
  320. data/sig/courier/models/message_cancel_params.rbs +11 -3
  321. data/sig/courier/models/message_channels.rbs +7 -0
  322. data/sig/courier/models/message_content_params.rbs +11 -3
  323. data/sig/courier/models/message_details.rbs +31 -23
  324. data/sig/courier/models/message_history_params.rbs +6 -1
  325. data/sig/courier/models/message_providers.rbs +7 -0
  326. data/sig/courier/models/message_providers_type.rbs +35 -0
  327. data/sig/courier/models/message_retrieve_params.rbs +11 -3
  328. data/sig/courier/models/metadata.rbs +13 -0
  329. data/sig/courier/models/notification_archive_params.rbs +20 -0
  330. data/sig/courier/models/notification_create_params.rbs +15 -0
  331. data/sig/courier/models/notification_list_params.rbs +7 -1
  332. data/sig/courier/models/notification_list_response.rbs +81 -71
  333. data/sig/courier/models/notification_list_versions_params.rbs +36 -0
  334. data/sig/courier/models/notification_publish_params.rbs +22 -0
  335. data/sig/courier/models/notification_replace_params.rbs +22 -0
  336. data/sig/courier/models/notification_retrieve_content_params.rbs +8 -3
  337. data/sig/courier/models/notification_retrieve_params.rbs +30 -0
  338. data/sig/courier/models/notification_template_create_request.rbs +40 -0
  339. data/sig/courier/models/notification_template_get_response.rbs +72 -0
  340. data/sig/courier/models/notification_template_mutation_response.rbs +46 -0
  341. data/sig/courier/models/notification_template_payload.rbs +75 -0
  342. data/sig/courier/models/notification_template_publish_request.rbs +15 -0
  343. data/sig/courier/models/notification_template_summary.rbs +70 -0
  344. data/sig/courier/models/notification_template_update_request.rbs +40 -0
  345. data/sig/courier/models/notification_template_version_list_response.rbs +22 -0
  346. data/sig/courier/models/notifications/check_delete_params.rbs +10 -2
  347. data/sig/courier/models/notifications/check_list_params.rbs +10 -2
  348. data/sig/courier/models/notifications/check_update_params.rbs +9 -1
  349. data/sig/courier/models/notifications/draft_retrieve_content_params.rbs +8 -3
  350. data/sig/courier/models/profile_create_params.rbs +5 -1
  351. data/sig/courier/models/profile_delete_params.rbs +11 -3
  352. data/sig/courier/models/profile_replace_params.rbs +5 -1
  353. data/sig/courier/models/profile_retrieve_params.rbs +11 -3
  354. data/sig/courier/models/profile_update_params.rbs +5 -1
  355. data/sig/courier/models/profiles/list_delete_params.rbs +11 -3
  356. data/sig/courier/models/profiles/list_retrieve_params.rbs +6 -1
  357. data/sig/courier/models/profiles/list_subscribe_params.rbs +8 -1
  358. data/sig/courier/models/provider.rbs +52 -0
  359. data/sig/courier/models/provider_create_params.rbs +47 -0
  360. data/sig/courier/models/provider_delete_params.rbs +20 -0
  361. data/sig/courier/models/provider_list_params.rbs +25 -0
  362. data/sig/courier/models/provider_list_response.rbs +22 -0
  363. data/sig/courier/models/provider_retrieve_params.rbs +20 -0
  364. data/sig/courier/models/provider_update_params.rbs +52 -0
  365. data/sig/courier/models/providers/catalog_list_params.rbs +40 -0
  366. data/sig/courier/models/providers/catalog_list_response.rbs +27 -0
  367. data/sig/courier/models/providers_catalog_entry.rbs +64 -0
  368. data/sig/courier/models/request_archive_params.rbs +11 -3
  369. data/sig/courier/models/routing_strategy_archive_params.rbs +20 -0
  370. data/sig/courier/models/routing_strategy_create_params.rbs +15 -0
  371. data/sig/courier/models/routing_strategy_create_request.rbs +45 -0
  372. data/sig/courier/models/routing_strategy_get_response.rbs +70 -0
  373. data/sig/courier/models/routing_strategy_list_params.rbs +30 -0
  374. data/sig/courier/models/routing_strategy_list_response.rbs +25 -0
  375. data/sig/courier/models/routing_strategy_mutation_response.rbs +13 -0
  376. data/sig/courier/models/routing_strategy_replace_params.rbs +22 -0
  377. data/sig/courier/models/routing_strategy_replace_request.rbs +45 -0
  378. data/sig/courier/models/routing_strategy_retrieve_params.rbs +20 -0
  379. data/sig/courier/models/routing_strategy_summary.rbs +55 -0
  380. data/sig/courier/models/send_message_params.rbs +8 -130
  381. data/sig/courier/models/tenant_delete_params.rbs +11 -3
  382. data/sig/courier/models/tenant_list_users_params.rbs +5 -1
  383. data/sig/courier/models/tenant_retrieve_params.rbs +11 -3
  384. data/sig/courier/models/tenant_template_input.rbs +12 -134
  385. data/sig/courier/models/tenant_update_params.rbs +5 -0
  386. data/sig/courier/models/tenants/preferences/item_delete_params.rbs +6 -1
  387. data/sig/courier/models/tenants/preferences/item_update_params.rbs +8 -1
  388. data/sig/courier/models/tenants/template_list_params.rbs +5 -1
  389. data/sig/courier/models/tenants/template_publish_params.rbs +8 -1
  390. data/sig/courier/models/tenants/template_replace_params.rbs +8 -1
  391. data/sig/courier/models/tenants/template_retrieve_params.rbs +6 -1
  392. data/sig/courier/models/tenants/templates/version_retrieve_params.rbs +5 -1
  393. data/sig/courier/models/timeouts.rbs +15 -0
  394. data/sig/courier/models/translation_retrieve_params.rbs +6 -1
  395. data/sig/courier/models/translation_update_params.rbs +5 -1
  396. data/sig/courier/models/users/preference_retrieve_params.rbs +6 -1
  397. data/sig/courier/models/users/preference_retrieve_topic_params.rbs +5 -1
  398. data/sig/courier/models/users/preference_update_or_create_topic_params.rbs +5 -0
  399. data/sig/courier/models/users/tenant_add_multiple_params.rbs +5 -1
  400. data/sig/courier/models/users/tenant_add_single_params.rbs +5 -1
  401. data/sig/courier/models/users/tenant_list_params.rbs +5 -1
  402. data/sig/courier/models/users/tenant_remove_all_params.rbs +11 -3
  403. data/sig/courier/models/users/tenant_remove_single_params.rbs +6 -1
  404. data/sig/courier/models/users/token_add_multiple_params.rbs +11 -3
  405. data/sig/courier/models/users/token_add_single_params.rbs +127 -4
  406. data/sig/courier/models/users/token_delete_params.rbs +6 -1
  407. data/sig/courier/models/users/token_list_params.rbs +11 -3
  408. data/sig/courier/models/users/token_retrieve_params.rbs +6 -1
  409. data/sig/courier/models/users/token_update_params.rbs +5 -0
  410. data/sig/courier/models/version_node.rbs +32 -0
  411. data/sig/courier/models.rbs +96 -0
  412. data/sig/courier/resources/journeys.rbs +21 -0
  413. data/sig/courier/resources/notifications.rbs +35 -0
  414. data/sig/courier/resources/providers/catalog.rbs +16 -0
  415. data/sig/courier/resources/providers.rbs +38 -0
  416. data/sig/courier/resources/routing_strategies.rbs +41 -0
  417. data/sig/courier/resources/users/tokens.rbs +5 -6
  418. metadata +164 -2
@@ -8,13 +8,20 @@ module Courier
8
8
  extend Courier::Internal::Type::RequestParameters::Converter
9
9
  include Courier::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute user_id
12
+ #
13
+ # @return [String]
14
+ required :user_id, String
15
+
11
16
  # @!attribute cursor
12
17
  # A unique identifier that allows for fetching the next set of message statuses.
13
18
  #
14
19
  # @return [String, nil]
15
20
  optional :cursor, String, nil?: true
16
21
 
17
- # @!method initialize(cursor: nil, request_options: {})
22
+ # @!method initialize(user_id:, cursor: nil, request_options: {})
23
+ # @param user_id [String]
24
+ #
18
25
  # @param cursor [String, nil] A unique identifier that allows for fetching the next set of message statuses.
19
26
  #
20
27
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
@@ -8,12 +8,18 @@ module Courier
8
8
  extend Courier::Internal::Type::RequestParameters::Converter
9
9
  include Courier::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute user_id
12
+ #
13
+ # @return [String]
14
+ required :user_id, String
15
+
11
16
  # @!attribute lists
12
17
  #
13
18
  # @return [Array<Courier::Models::SubscribeToListsRequestItem>]
14
19
  required :lists, -> { Courier::Internal::Type::ArrayOf[Courier::SubscribeToListsRequestItem] }
15
20
 
16
- # @!method initialize(lists:, request_options: {})
21
+ # @!method initialize(user_id:, lists:, request_options: {})
22
+ # @param user_id [String]
17
23
  # @param lists [Array<Courier::Models::SubscribeToListsRequestItem>]
18
24
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
19
25
  end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#create
6
+ class Provider < Courier::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # A unique identifier for the provider configuration.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created
14
+ # Unix timestamp (ms) of when the provider was created.
15
+ #
16
+ # @return [Integer]
17
+ required :created, Integer
18
+
19
+ # @!attribute provider
20
+ # The provider key (e.g. "sendgrid", "twilio", "slack").
21
+ #
22
+ # @return [String]
23
+ required :provider, String
24
+
25
+ # @!attribute settings
26
+ # Provider-specific settings (snake_case keys on the wire).
27
+ #
28
+ # @return [Hash{Symbol=>Object}]
29
+ required :settings, Courier::Internal::Type::HashOf[Courier::Internal::Type::Unknown]
30
+
31
+ # @!attribute title
32
+ # Display title. Defaults to "Default Configuration" when not explicitly set.
33
+ #
34
+ # @return [String]
35
+ required :title, String
36
+
37
+ # @!attribute alias_
38
+ # Optional alias for this configuration.
39
+ #
40
+ # @return [String, nil]
41
+ optional :alias_, String, api_name: :alias
42
+
43
+ # @!attribute updated
44
+ # Unix timestamp (ms) of when the provider was last updated.
45
+ #
46
+ # @return [Integer, nil]
47
+ optional :updated, Integer, nil?: true
48
+
49
+ # @!method initialize(id:, created:, provider:, settings:, title:, alias_: nil, updated: nil)
50
+ # A configured provider in the workspace.
51
+ #
52
+ # @param id [String] A unique identifier for the provider configuration.
53
+ #
54
+ # @param created [Integer] Unix timestamp (ms) of when the provider was created.
55
+ #
56
+ # @param provider [String] The provider key (e.g. "sendgrid", "twilio", "slack").
57
+ #
58
+ # @param settings [Hash{Symbol=>Object}] Provider-specific settings (snake_case keys on the wire).
59
+ #
60
+ # @param title [String] Display title. Defaults to "Default Configuration" when not explicitly set.
61
+ #
62
+ # @param alias_ [String] Optional alias for this configuration.
63
+ #
64
+ # @param updated [Integer, nil] Unix timestamp (ms) of when the provider was last updated.
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#create
6
+ class ProviderCreateParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute provider
11
+ # The provider key identifying the type (e.g. "sendgrid", "twilio"). Must be a
12
+ # known Courier provider — see the catalog endpoint for valid keys.
13
+ #
14
+ # @return [String]
15
+ required :provider, String
16
+
17
+ # @!attribute alias_
18
+ # Optional alias for this configuration.
19
+ #
20
+ # @return [String, nil]
21
+ optional :alias_, String, api_name: :alias
22
+
23
+ # @!attribute settings
24
+ # Provider-specific settings (snake_case keys). Defaults to an empty object when
25
+ # omitted. Use the catalog endpoint to discover required fields for a given
26
+ # provider — omitting a required field returns a 400 validation error.
27
+ #
28
+ # @return [Hash{Symbol=>Object}, nil]
29
+ optional :settings, Courier::Internal::Type::HashOf[Courier::Internal::Type::Unknown]
30
+
31
+ # @!attribute title
32
+ # Optional display title. Omit to use "Default Configuration".
33
+ #
34
+ # @return [String, nil]
35
+ optional :title, String
36
+
37
+ # @!method initialize(provider:, alias_: nil, settings: nil, title: nil, request_options: {})
38
+ # Some parameter documentations has been truncated, see
39
+ # {Courier::Models::ProviderCreateParams} for more details.
40
+ #
41
+ # @param provider [String] The provider key identifying the type (e.g. "sendgrid", "twilio"). Must be a kno
42
+ #
43
+ # @param alias_ [String] Optional alias for this configuration.
44
+ #
45
+ # @param settings [Hash{Symbol=>Object}] Provider-specific settings (snake_case keys). Defaults to an empty object when o
46
+ #
47
+ # @param title [String] Optional display title. Omit to use "Default Configuration".
48
+ #
49
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#delete
6
+ class ProviderDeleteParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#list
6
+ class ProviderListParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute cursor
11
+ # Opaque cursor for fetching the next page.
12
+ #
13
+ # @return [String, nil]
14
+ optional :cursor, String
15
+
16
+ # @!method initialize(cursor: nil, request_options: {})
17
+ # @param cursor [String] Opaque cursor for fetching the next page.
18
+ #
19
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#list
6
+ class ProviderListResponse < Courier::Internal::Type::BaseModel
7
+ # @!attribute paging
8
+ #
9
+ # @return [Courier::Models::Paging]
10
+ required :paging, -> { Courier::Paging }
11
+
12
+ # @!attribute results
13
+ #
14
+ # @return [Array<Courier::Models::Provider>]
15
+ required :results, -> { Courier::Internal::Type::ArrayOf[Courier::Provider] }
16
+
17
+ # @!method initialize(paging:, results:)
18
+ # Paginated list of provider configurations.
19
+ #
20
+ # @param paging [Courier::Models::Paging]
21
+ # @param results [Array<Courier::Models::Provider>]
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#retrieve
6
+ class ProviderRetrieveParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::Providers#update
6
+ class ProviderUpdateParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute provider
16
+ # The provider key identifying the type.
17
+ #
18
+ # @return [String]
19
+ required :provider, String
20
+
21
+ # @!attribute alias_
22
+ # Updated alias. Omit to clear.
23
+ #
24
+ # @return [String, nil]
25
+ optional :alias_, String, api_name: :alias
26
+
27
+ # @!attribute settings
28
+ # Provider-specific settings (snake_case keys). Replaces the full settings object
29
+ # — omitted settings fields are removed. Use the catalog endpoint to check
30
+ # required fields.
31
+ #
32
+ # @return [Hash{Symbol=>Object}, nil]
33
+ optional :settings, Courier::Internal::Type::HashOf[Courier::Internal::Type::Unknown]
34
+
35
+ # @!attribute title
36
+ # Updated display title.
37
+ #
38
+ # @return [String, nil]
39
+ optional :title, String
40
+
41
+ # @!method initialize(id:, provider:, alias_: nil, settings: nil, title: nil, request_options: {})
42
+ # Some parameter documentations has been truncated, see
43
+ # {Courier::Models::ProviderUpdateParams} for more details.
44
+ #
45
+ # @param id [String]
46
+ #
47
+ # @param provider [String] The provider key identifying the type.
48
+ #
49
+ # @param alias_ [String] Updated alias. Omit to clear.
50
+ #
51
+ # @param settings [Hash{Symbol=>Object}] Provider-specific settings (snake_case keys). Replaces the full settings object
52
+ #
53
+ # @param title [String] Updated display title.
54
+ #
55
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module Providers
6
+ # @see Courier::Resources::Providers::Catalog#list
7
+ class CatalogListParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute channel
12
+ # Exact match (case-insensitive) against the provider channel taxonomy (e.g.
13
+ # `email`, `sms`, `push`).
14
+ #
15
+ # @return [String, nil]
16
+ optional :channel, String
17
+
18
+ # @!attribute keys
19
+ # Comma-separated provider keys to filter by (e.g. `sendgrid,twilio`).
20
+ #
21
+ # @return [String, nil]
22
+ optional :keys, String
23
+
24
+ # @!attribute name
25
+ # Case-insensitive substring match against the provider display name.
26
+ #
27
+ # @return [String, nil]
28
+ optional :name, String
29
+
30
+ # @!method initialize(channel: nil, keys: nil, name: nil, request_options: {})
31
+ # Some parameter documentations has been truncated, see
32
+ # {Courier::Models::Providers::CatalogListParams} for more details.
33
+ #
34
+ # @param channel [String] Exact match (case-insensitive) against the provider channel taxonomy (e.g. `emai
35
+ #
36
+ # @param keys [String] Comma-separated provider keys to filter by (e.g. `sendgrid,twilio`).
37
+ #
38
+ # @param name [String] Case-insensitive substring match against the provider display name.
39
+ #
40
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module Providers
6
+ # @see Courier::Resources::Providers::Catalog#list
7
+ class CatalogListResponse < Courier::Internal::Type::BaseModel
8
+ # @!attribute paging
9
+ #
10
+ # @return [Courier::Models::Paging]
11
+ required :paging, -> { Courier::Paging }
12
+
13
+ # @!attribute results
14
+ #
15
+ # @return [Array<Courier::Models::ProvidersCatalogEntry>]
16
+ required :results, -> { Courier::Internal::Type::ArrayOf[Courier::ProvidersCatalogEntry] }
17
+
18
+ # @!method initialize(paging:, results:)
19
+ # Paginated list of available provider types with their configuration schemas.
20
+ #
21
+ # @param paging [Courier::Models::Paging]
22
+ # @param results [Array<Courier::Models::ProvidersCatalogEntry>]
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ class ProvidersCatalogEntry < Courier::Internal::Type::BaseModel
6
+ # @!attribute channel
7
+ # Courier taxonomy channel (e.g. email, push, sms, direct_message, inbox,
8
+ # webhook).
9
+ #
10
+ # @return [String]
11
+ required :channel, String
12
+
13
+ # @!attribute description
14
+ # Short description of the provider.
15
+ #
16
+ # @return [String]
17
+ required :description, String
18
+
19
+ # @!attribute name
20
+ # Human-readable display name.
21
+ #
22
+ # @return [String]
23
+ required :name, String
24
+
25
+ # @!attribute provider
26
+ # The provider key (e.g. "sendgrid", "twilio").
27
+ #
28
+ # @return [String]
29
+ required :provider, String
30
+
31
+ # @!attribute settings
32
+ # Map of setting field names (snake_case) to their schema descriptors. Each
33
+ # descriptor has `type` and `required`. Empty when the provider has no
34
+ # configurable schema.
35
+ #
36
+ # @return [Hash{Symbol=>Courier::Models::ProvidersCatalogEntry::Setting}]
37
+ required :settings, -> { Courier::Internal::Type::HashOf[Courier::ProvidersCatalogEntry::Setting] }
38
+
39
+ # @!method initialize(channel:, description:, name:, provider:, settings:)
40
+ # Some parameter documentations has been truncated, see
41
+ # {Courier::Models::ProvidersCatalogEntry} for more details.
42
+ #
43
+ # A provider type from the catalog. Contains the key, display name, description,
44
+ # and a `settings` object describing configuration schema fields.
45
+ #
46
+ # @param channel [String] Courier taxonomy channel (e.g. email, push, sms, direct_message, inbox, webhook)
47
+ #
48
+ # @param description [String] Short description of the provider.
49
+ #
50
+ # @param name [String] Human-readable display name.
51
+ #
52
+ # @param provider [String] The provider key (e.g. "sendgrid", "twilio").
53
+ #
54
+ # @param settings [Hash{Symbol=>Courier::Models::ProvidersCatalogEntry::Setting}] Map of setting field names (snake_case) to their schema descriptors. Each descri
55
+
56
+ class Setting < Courier::Internal::Type::BaseModel
57
+ # @!attribute required
58
+ # Whether this field is required when configuring the provider.
59
+ #
60
+ # @return [Boolean]
61
+ required :required, Courier::Internal::Type::Boolean
62
+
63
+ # @!attribute type
64
+ # The field's data type (e.g. "string", "boolean", "enum").
65
+ #
66
+ # @return [String]
67
+ required :type, String
68
+
69
+ # @!attribute values
70
+ # Allowed values when `type` is "enum".
71
+ #
72
+ # @return [Array<String>, nil]
73
+ optional :values, Courier::Internal::Type::ArrayOf[String]
74
+
75
+ # @!method initialize(required:, type:, values: nil)
76
+ # Describes a single configuration field in the provider catalog.
77
+ #
78
+ # @param required [Boolean] Whether this field is required when configuring the provider.
79
+ #
80
+ # @param type [String] The field's data type (e.g. "string", "boolean", "enum").
81
+ #
82
+ # @param values [Array<String>] Allowed values when `type` is "enum".
83
+ end
84
+ end
85
+ end
86
+ end
@@ -7,7 +7,13 @@ module Courier
7
7
  extend Courier::Internal::Type::RequestParameters::Converter
8
8
  include Courier::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute request_id
11
+ #
12
+ # @return [String]
13
+ required :request_id, String
14
+
15
+ # @!method initialize(request_id:, request_options: {})
16
+ # @param request_id [String]
11
17
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
12
18
  end
13
19
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::RoutingStrategies#archive
6
+ class RoutingStrategyArchiveParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::RoutingStrategies#create
6
+ class RoutingStrategyCreateParams < Courier::Models::RoutingStrategyCreateRequest
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ class RoutingStrategyCreateRequest < Courier::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ # Human-readable name for the routing strategy.
8
+ #
9
+ # @return [String]
10
+ required :name, String
11
+
12
+ # @!attribute routing
13
+ # Routing tree defining channel selection method and order.
14
+ #
15
+ # @return [Courier::Models::MessageRouting]
16
+ required :routing, -> { Courier::MessageRouting }
17
+
18
+ # @!attribute channels
19
+ # Per-channel delivery configuration. Defaults to empty if omitted.
20
+ #
21
+ # @return [Hash{Symbol=>Courier::Models::Channel}, nil]
22
+ optional :channels, -> { Courier::Internal::Type::HashOf[Courier::Channel] }, nil?: true
23
+
24
+ # @!attribute description
25
+ # Optional description of the routing strategy.
26
+ #
27
+ # @return [String, nil]
28
+ optional :description, String, nil?: true
29
+
30
+ # @!attribute providers
31
+ # Per-provider delivery configuration. Defaults to empty if omitted.
32
+ #
33
+ # @return [Hash{Symbol=>Courier::Models::MessageProvidersType}, nil]
34
+ optional :providers, -> { Courier::Internal::Type::HashOf[Courier::MessageProvidersType] }, nil?: true
35
+
36
+ # @!attribute tags
37
+ # Optional tags for categorization.
38
+ #
39
+ # @return [Array<String>, nil]
40
+ optional :tags, Courier::Internal::Type::ArrayOf[String], nil?: true
41
+
42
+ # @!method initialize(name:, routing:, channels: nil, description: nil, providers: nil, tags: nil)
43
+ # Request body for creating a routing strategy.
44
+ #
45
+ # @param name [String] Human-readable name for the routing strategy.
46
+ #
47
+ # @param routing [Courier::Models::MessageRouting] Routing tree defining channel selection method and order.
48
+ #
49
+ # @param channels [Hash{Symbol=>Courier::Models::Channel}, nil] Per-channel delivery configuration. Defaults to empty if omitted.
50
+ #
51
+ # @param description [String, nil] Optional description of the routing strategy.
52
+ #
53
+ # @param providers [Hash{Symbol=>Courier::Models::MessageProvidersType}, nil] Per-provider delivery configuration. Defaults to empty if omitted.
54
+ #
55
+ # @param tags [Array<String>, nil] Optional tags for categorization.
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::RoutingStrategies#retrieve
6
+ class RoutingStrategyGetResponse < Courier::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The routing strategy ID (rs\_ prefix).
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute channels
14
+ # Per-channel delivery configuration. May be empty.
15
+ #
16
+ # @return [Hash{Symbol=>Courier::Models::Channel}]
17
+ required :channels, -> { Courier::Internal::Type::HashOf[Courier::Channel] }
18
+
19
+ # @!attribute created
20
+ # Epoch milliseconds when the strategy was created.
21
+ #
22
+ # @return [Integer]
23
+ required :created, Integer
24
+
25
+ # @!attribute creator
26
+ # User ID of the creator.
27
+ #
28
+ # @return [String]
29
+ required :creator, String
30
+
31
+ # @!attribute name
32
+ # Human-readable name.
33
+ #
34
+ # @return [String]
35
+ required :name, String
36
+
37
+ # @!attribute providers
38
+ # Per-provider delivery configuration. May be empty.
39
+ #
40
+ # @return [Hash{Symbol=>Courier::Models::MessageProvidersType}]
41
+ required :providers, -> { Courier::Internal::Type::HashOf[Courier::MessageProvidersType] }
42
+
43
+ # @!attribute routing
44
+ # Routing tree defining channel selection method and order.
45
+ #
46
+ # @return [Courier::Models::MessageRouting]
47
+ required :routing, -> { Courier::MessageRouting }
48
+
49
+ # @!attribute description
50
+ # Description of the routing strategy.
51
+ #
52
+ # @return [String, nil]
53
+ optional :description, String, nil?: true
54
+
55
+ # @!attribute tags
56
+ # Tags for categorization.
57
+ #
58
+ # @return [Array<String>, nil]
59
+ optional :tags, Courier::Internal::Type::ArrayOf[String], nil?: true
60
+
61
+ # @!attribute updated
62
+ # Epoch milliseconds of last update.
63
+ #
64
+ # @return [Integer, nil]
65
+ optional :updated, Integer, nil?: true
66
+
67
+ # @!attribute updater
68
+ # User ID of the last updater.
69
+ #
70
+ # @return [String, nil]
71
+ optional :updater, String, nil?: true
72
+
73
+ # @!method initialize(id:, channels:, created:, creator:, name:, providers:, routing:, description: nil, tags: nil, updated: nil, updater: nil)
74
+ # Full routing strategy entity returned by GET.
75
+ #
76
+ # @param id [String] The routing strategy ID (rs\_ prefix).
77
+ #
78
+ # @param channels [Hash{Symbol=>Courier::Models::Channel}] Per-channel delivery configuration. May be empty.
79
+ #
80
+ # @param created [Integer] Epoch milliseconds when the strategy was created.
81
+ #
82
+ # @param creator [String] User ID of the creator.
83
+ #
84
+ # @param name [String] Human-readable name.
85
+ #
86
+ # @param providers [Hash{Symbol=>Courier::Models::MessageProvidersType}] Per-provider delivery configuration. May be empty.
87
+ #
88
+ # @param routing [Courier::Models::MessageRouting] Routing tree defining channel selection method and order.
89
+ #
90
+ # @param description [String, nil] Description of the routing strategy.
91
+ #
92
+ # @param tags [Array<String>, nil] Tags for categorization.
93
+ #
94
+ # @param updated [Integer, nil] Epoch milliseconds of last update.
95
+ #
96
+ # @param updater [String, nil] User ID of the last updater.
97
+ end
98
+ end
99
+ end