knockapi 0.6.1 → 1.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 (689) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +61 -0
  4. data/README.md +204 -89
  5. data/SECURITY.md +27 -0
  6. data/lib/knockapi/client.rb +122 -0
  7. data/lib/knockapi/errors.rb +192 -0
  8. data/lib/knockapi/file_part.rb +55 -0
  9. data/lib/knockapi/internal/entries_cursor.rb +101 -0
  10. data/lib/knockapi/internal/items_cursor.rb +101 -0
  11. data/lib/knockapi/internal/ms_teams_pagination.rb +86 -0
  12. data/lib/knockapi/internal/slack_channels_cursor.rb +86 -0
  13. data/lib/knockapi/internal/transport/base_client.rb +555 -0
  14. data/lib/knockapi/internal/transport/pooled_net_requester.rb +209 -0
  15. data/lib/knockapi/internal/type/array_of.rb +154 -0
  16. data/lib/knockapi/internal/type/base_model.rb +477 -0
  17. data/lib/knockapi/internal/type/base_page.rb +55 -0
  18. data/lib/knockapi/internal/type/boolean.rb +63 -0
  19. data/lib/knockapi/internal/type/converter.rb +292 -0
  20. data/lib/knockapi/internal/type/enum.rb +108 -0
  21. data/lib/knockapi/internal/type/file_input.rb +96 -0
  22. data/lib/knockapi/internal/type/hash_of.rb +174 -0
  23. data/lib/knockapi/internal/type/request_parameters.rb +42 -0
  24. data/lib/knockapi/internal/type/union.rb +226 -0
  25. data/lib/knockapi/internal/type/unknown.rb +67 -0
  26. data/lib/knockapi/internal/util.rb +862 -0
  27. data/lib/knockapi/internal.rb +17 -0
  28. data/lib/knockapi/models/activity.rb +70 -0
  29. data/lib/knockapi/models/audience_add_members_params.rb +57 -0
  30. data/lib/knockapi/models/audience_add_members_response.rb +7 -0
  31. data/lib/knockapi/models/audience_list_members_params.rb +14 -0
  32. data/lib/knockapi/models/audience_list_members_response.rb +27 -0
  33. data/lib/knockapi/models/audience_member.rb +55 -0
  34. data/lib/knockapi/models/audience_remove_members_params.rb +60 -0
  35. data/lib/knockapi/models/audience_remove_members_response.rb +7 -0
  36. data/lib/knockapi/models/bulk_operation.rb +165 -0
  37. data/lib/knockapi/models/bulk_operation_get_params.rb +14 -0
  38. data/lib/knockapi/models/channels/bulk_update_message_status_params.rb +168 -0
  39. data/lib/knockapi/models/condition.rb +63 -0
  40. data/lib/knockapi/models/identify_user_request.rb +97 -0
  41. data/lib/knockapi/models/inline_identify_user_request.rb +106 -0
  42. data/lib/knockapi/models/inline_object_request.rb +56 -0
  43. data/lib/knockapi/models/inline_tenant_request.rb +23 -0
  44. data/lib/knockapi/models/integrations/census_custom_destination_params.rb +48 -0
  45. data/lib/knockapi/models/integrations/census_custom_destination_response.rb +27 -0
  46. data/lib/knockapi/models/integrations/hightouch_embedded_destination_params.rb +48 -0
  47. data/lib/knockapi/models/integrations/hightouch_embedded_destination_response.rb +27 -0
  48. data/lib/knockapi/models/message.rb +264 -0
  49. data/lib/knockapi/models/message_archive_params.rb +14 -0
  50. data/lib/knockapi/models/message_delivery_log.rb +210 -0
  51. data/lib/knockapi/models/message_event.rb +90 -0
  52. data/lib/knockapi/models/message_get_content_params.rb +14 -0
  53. data/lib/knockapi/models/message_get_content_response.rb +517 -0
  54. data/lib/knockapi/models/message_get_params.rb +14 -0
  55. data/lib/knockapi/models/message_list_activities_params.rb +46 -0
  56. data/lib/knockapi/models/message_list_delivery_logs_params.rb +38 -0
  57. data/lib/knockapi/models/message_list_events_params.rb +38 -0
  58. data/lib/knockapi/models/message_list_params.rb +196 -0
  59. data/lib/knockapi/models/message_mark_as_interacted_params.rb +22 -0
  60. data/lib/knockapi/models/message_mark_as_read_params.rb +14 -0
  61. data/lib/knockapi/models/message_mark_as_seen_params.rb +14 -0
  62. data/lib/knockapi/models/message_mark_as_unread_params.rb +14 -0
  63. data/lib/knockapi/models/message_mark_as_unseen_params.rb +14 -0
  64. data/lib/knockapi/models/message_unarchive_params.rb +14 -0
  65. data/lib/knockapi/models/messages/batch_archive_params.rb +24 -0
  66. data/lib/knockapi/models/messages/batch_archive_response.rb +10 -0
  67. data/lib/knockapi/models/messages/batch_get_content_params.rb +24 -0
  68. data/lib/knockapi/models/messages/batch_get_content_response.rb +525 -0
  69. data/lib/knockapi/models/messages/batch_mark_as_interacted_params.rb +32 -0
  70. data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +10 -0
  71. data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +24 -0
  72. data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +10 -0
  73. data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +24 -0
  74. data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +10 -0
  75. data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +24 -0
  76. data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +10 -0
  77. data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +24 -0
  78. data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +10 -0
  79. data/lib/knockapi/models/messages/batch_unarchive_params.rb +24 -0
  80. data/lib/knockapi/models/messages/batch_unarchive_response.rb +10 -0
  81. data/lib/knockapi/models/object.rb +59 -0
  82. data/lib/knockapi/models/object_add_subscriptions_params.rb +34 -0
  83. data/lib/knockapi/models/object_add_subscriptions_response.rb +9 -0
  84. data/lib/knockapi/models/object_delete_params.rb +14 -0
  85. data/lib/knockapi/models/object_delete_response.rb +7 -0
  86. data/lib/knockapi/models/object_delete_subscriptions_params.rb +26 -0
  87. data/lib/knockapi/models/object_delete_subscriptions_response.rb +9 -0
  88. data/lib/knockapi/models/object_get_channel_data_params.rb +14 -0
  89. data/lib/knockapi/models/object_get_params.rb +14 -0
  90. data/lib/knockapi/models/object_get_preferences_params.rb +14 -0
  91. data/lib/knockapi/models/object_list_messages_params.rb +199 -0
  92. data/lib/knockapi/models/object_list_params.rb +55 -0
  93. data/lib/knockapi/models/object_list_preferences_params.rb +14 -0
  94. data/lib/knockapi/models/object_list_preferences_response.rb +9 -0
  95. data/lib/knockapi/models/object_list_schedules_params.rb +54 -0
  96. data/lib/knockapi/models/object_list_subscriptions_params.rb +122 -0
  97. data/lib/knockapi/models/object_set_channel_data_params.rb +14 -0
  98. data/lib/knockapi/models/object_set_params.rb +59 -0
  99. data/lib/knockapi/models/object_set_preferences_params.rb +14 -0
  100. data/lib/knockapi/models/object_unset_channel_data_params.rb +14 -0
  101. data/lib/knockapi/models/object_unset_channel_data_response.rb +7 -0
  102. data/lib/knockapi/models/objects/bulk_add_subscriptions_params.rb +52 -0
  103. data/lib/knockapi/models/objects/bulk_delete_params.rb +24 -0
  104. data/lib/knockapi/models/objects/bulk_set_params.rb +24 -0
  105. data/lib/knockapi/models/page_info.rb +42 -0
  106. data/lib/knockapi/models/providers/ms_team_check_auth_params.rb +24 -0
  107. data/lib/knockapi/models/providers/ms_team_check_auth_response.rb +43 -0
  108. data/lib/knockapi/models/providers/ms_team_list_channels_params.rb +63 -0
  109. data/lib/knockapi/models/providers/ms_team_list_channels_response.rb +74 -0
  110. data/lib/knockapi/models/providers/ms_team_list_teams_params.rb +73 -0
  111. data/lib/knockapi/models/providers/ms_team_list_teams_response.rb +35 -0
  112. data/lib/knockapi/models/providers/ms_team_revoke_access_params.rb +24 -0
  113. data/lib/knockapi/models/providers/ms_team_revoke_access_response.rb +21 -0
  114. data/lib/knockapi/models/providers/slack_check_auth_params.rb +24 -0
  115. data/lib/knockapi/models/providers/slack_check_auth_response.rb +43 -0
  116. data/lib/knockapi/models/providers/slack_list_channels_params.rb +80 -0
  117. data/lib/knockapi/models/providers/slack_list_channels_response.rb +53 -0
  118. data/lib/knockapi/models/providers/slack_revoke_access_params.rb +24 -0
  119. data/lib/knockapi/models/providers/slack_revoke_access_response.rb +21 -0
  120. data/lib/knockapi/models/recipient.rb +23 -0
  121. data/lib/knockapi/models/recipient_reference.rb +45 -0
  122. data/lib/knockapi/models/recipient_request.rb +28 -0
  123. data/lib/knockapi/models/recipients/channel_data.rb +100 -0
  124. data/lib/knockapi/models/recipients/channel_data_request.rb +57 -0
  125. data/lib/knockapi/models/recipients/discord_channel_data.rb +92 -0
  126. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +46 -0
  127. data/lib/knockapi/models/recipients/inline_preference_set_request.rb +11 -0
  128. data/lib/knockapi/models/recipients/ms_teams_channel_data.rb +123 -0
  129. data/lib/knockapi/models/recipients/one_signal_channel_data.rb +20 -0
  130. data/lib/knockapi/models/recipients/preference_set.rb +150 -0
  131. data/lib/knockapi/models/recipients/preference_set_channel_type_setting.rb +21 -0
  132. data/lib/knockapi/models/recipients/preference_set_channel_types.rb +174 -0
  133. data/lib/knockapi/models/recipients/preference_set_request.rb +141 -0
  134. data/lib/knockapi/models/recipients/push_channel_data.rb +20 -0
  135. data/lib/knockapi/models/recipients/slack_channel_data.rb +110 -0
  136. data/lib/knockapi/models/recipients/subscription.rb +60 -0
  137. data/lib/knockapi/models/schedule.rb +112 -0
  138. data/lib/knockapi/models/schedule_create_params.rb +70 -0
  139. data/lib/knockapi/models/schedule_create_response.rb +8 -0
  140. data/lib/knockapi/models/schedule_delete_params.rb +22 -0
  141. data/lib/knockapi/models/schedule_delete_response.rb +8 -0
  142. data/lib/knockapi/models/schedule_list_params.rb +62 -0
  143. data/lib/knockapi/models/schedule_repeat_rule.rb +99 -0
  144. data/lib/knockapi/models/schedule_update_params.rb +74 -0
  145. data/lib/knockapi/models/schedule_update_response.rb +8 -0
  146. data/lib/knockapi/models/schedules/bulk_create_params.rb +101 -0
  147. data/lib/knockapi/models/tenant.rb +112 -0
  148. data/lib/knockapi/models/tenant_delete_params.rb +14 -0
  149. data/lib/knockapi/models/tenant_delete_response.rb +7 -0
  150. data/lib/knockapi/models/tenant_get_params.rb +14 -0
  151. data/lib/knockapi/models/tenant_list_params.rb +54 -0
  152. data/lib/knockapi/models/tenant_request.rb +114 -0
  153. data/lib/knockapi/models/tenant_set_params.rb +108 -0
  154. data/lib/knockapi/models/tenants/bulk_delete_params.rb +24 -0
  155. data/lib/knockapi/models/tenants/bulk_set_params.rb +24 -0
  156. data/lib/knockapi/models/user.rb +92 -0
  157. data/lib/knockapi/models/user_delete_params.rb +14 -0
  158. data/lib/knockapi/models/user_delete_response.rb +7 -0
  159. data/lib/knockapi/models/user_get_channel_data_params.rb +14 -0
  160. data/lib/knockapi/models/user_get_params.rb +14 -0
  161. data/lib/knockapi/models/user_get_preferences_params.rb +22 -0
  162. data/lib/knockapi/models/user_list_messages_params.rb +201 -0
  163. data/lib/knockapi/models/user_list_params.rb +55 -0
  164. data/lib/knockapi/models/user_list_preferences_params.rb +14 -0
  165. data/lib/knockapi/models/user_list_preferences_response.rb +9 -0
  166. data/lib/knockapi/models/user_list_schedules_params.rb +54 -0
  167. data/lib/knockapi/models/user_list_subscriptions_params.rb +64 -0
  168. data/lib/knockapi/models/user_merge_params.rb +22 -0
  169. data/lib/knockapi/models/user_set_channel_data_params.rb +14 -0
  170. data/lib/knockapi/models/user_set_preferences_params.rb +14 -0
  171. data/lib/knockapi/models/user_unset_channel_data_params.rb +14 -0
  172. data/lib/knockapi/models/user_unset_channel_data_response.rb +7 -0
  173. data/lib/knockapi/models/user_update_params.rb +14 -0
  174. data/lib/knockapi/models/users/bulk_delete_params.rb +24 -0
  175. data/lib/knockapi/models/users/bulk_identify_params.rb +24 -0
  176. data/lib/knockapi/models/users/bulk_set_preferences_params.rb +32 -0
  177. data/lib/knockapi/models/users/feed_get_settings_params.rb +16 -0
  178. data/lib/knockapi/models/users/feed_get_settings_response.rb +35 -0
  179. data/lib/knockapi/models/users/feed_list_items_params.rb +122 -0
  180. data/lib/knockapi/models/users/feed_list_items_response.rb +342 -0
  181. data/lib/knockapi/models/users/guide_get_channel_params.rb +40 -0
  182. data/lib/knockapi/models/users/guide_get_channel_response.rb +79 -0
  183. data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +88 -0
  184. data/lib/knockapi/models/users/guide_mark_message_as_archived_response.rb +21 -0
  185. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +88 -0
  186. data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +21 -0
  187. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +88 -0
  188. data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +21 -0
  189. data/lib/knockapi/models/workflow_cancel_params.rb +40 -0
  190. data/lib/knockapi/models/workflow_cancel_response.rb +7 -0
  191. data/lib/knockapi/models/workflow_trigger_params.rb +64 -0
  192. data/lib/knockapi/models/workflow_trigger_response.rb +23 -0
  193. data/lib/knockapi/models.rb +202 -0
  194. data/lib/knockapi/request_options.rb +77 -0
  195. data/lib/knockapi/resources/audiences.rb +82 -0
  196. data/lib/knockapi/resources/bulk_operations.rb +34 -0
  197. data/lib/knockapi/resources/channels/bulk.rb +66 -0
  198. data/lib/knockapi/resources/channels.rb +18 -0
  199. data/lib/knockapi/resources/integrations/census.rb +44 -0
  200. data/lib/knockapi/resources/integrations/hightouch.rb +44 -0
  201. data/lib/knockapi/resources/integrations.rb +22 -0
  202. data/lib/knockapi/resources/messages/batch.rb +208 -0
  203. data/lib/knockapi/resources/messages.rb +358 -0
  204. data/lib/knockapi/resources/objects/bulk.rb +92 -0
  205. data/lib/knockapi/resources/objects.rb +498 -0
  206. data/lib/knockapi/resources/providers/ms_teams.rb +122 -0
  207. data/lib/knockapi/resources/providers/slack.rb +91 -0
  208. data/lib/knockapi/resources/providers.rb +22 -0
  209. data/lib/knockapi/resources/recipients/channel_data.rb +16 -0
  210. data/lib/knockapi/resources/recipients/preferences.rb +16 -0
  211. data/lib/knockapi/resources/recipients/subscriptions.rb +16 -0
  212. data/lib/knockapi/resources/recipients.rb +26 -0
  213. data/lib/knockapi/resources/schedules/bulk.rb +40 -0
  214. data/lib/knockapi/resources/schedules.rb +154 -0
  215. data/lib/knockapi/resources/shared.rb +14 -0
  216. data/lib/knockapi/resources/tenants/bulk.rb +60 -0
  217. data/lib/knockapi/resources/tenants.rb +118 -0
  218. data/lib/knockapi/resources/users/bulk.rb +89 -0
  219. data/lib/knockapi/resources/users/feeds.rb +84 -0
  220. data/lib/knockapi/resources/users/guides.rb +175 -0
  221. data/lib/knockapi/resources/users.rb +440 -0
  222. data/lib/knockapi/resources/workflows.rb +84 -0
  223. data/lib/knockapi/version.rb +5 -0
  224. data/lib/knockapi.rb +248 -0
  225. data/manifest.yaml +15 -0
  226. data/rbi/knockapi/client.rbi +85 -0
  227. data/rbi/knockapi/errors.rbi +162 -0
  228. data/rbi/knockapi/file_part.rbi +37 -0
  229. data/rbi/knockapi/internal/entries_cursor.rbi +40 -0
  230. data/rbi/knockapi/internal/items_cursor.rbi +40 -0
  231. data/rbi/knockapi/internal/ms_teams_pagination.rbi +22 -0
  232. data/rbi/knockapi/internal/slack_channels_cursor.rbi +22 -0
  233. data/rbi/knockapi/internal/transport/base_client.rbi +293 -0
  234. data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +79 -0
  235. data/rbi/knockapi/internal/type/array_of.rbi +98 -0
  236. data/rbi/knockapi/internal/type/base_model.rbi +297 -0
  237. data/rbi/knockapi/internal/type/base_page.rbi +42 -0
  238. data/rbi/knockapi/internal/type/boolean.rbi +50 -0
  239. data/rbi/knockapi/internal/type/converter.rbi +162 -0
  240. data/rbi/knockapi/internal/type/enum.rbi +77 -0
  241. data/rbi/knockapi/internal/type/file_input.rbi +54 -0
  242. data/rbi/knockapi/internal/type/hash_of.rbi +98 -0
  243. data/rbi/knockapi/internal/type/request_parameters.rbi +29 -0
  244. data/rbi/knockapi/internal/type/union.rbi +111 -0
  245. data/rbi/knockapi/internal/type/unknown.rbi +50 -0
  246. data/rbi/knockapi/internal/util.rbi +451 -0
  247. data/rbi/knockapi/internal.rbi +13 -0
  248. data/rbi/knockapi/models/activity.rbi +107 -0
  249. data/rbi/knockapi/models/audience_add_members_params.rbi +123 -0
  250. data/rbi/knockapi/models/audience_add_members_response.rbi +7 -0
  251. data/rbi/knockapi/models/audience_list_members_params.rbi +30 -0
  252. data/rbi/knockapi/models/audience_list_members_response.rbi +52 -0
  253. data/rbi/knockapi/models/audience_member.rbi +77 -0
  254. data/rbi/knockapi/models/audience_remove_members_params.rbi +127 -0
  255. data/rbi/knockapi/models/audience_remove_members_response.rbi +7 -0
  256. data/rbi/knockapi/models/bulk_operation.rbi +222 -0
  257. data/rbi/knockapi/models/bulk_operation_get_params.rbi +27 -0
  258. data/rbi/knockapi/models/channels/bulk_update_message_status_params.rbi +432 -0
  259. data/rbi/knockapi/models/condition.rbi +124 -0
  260. data/rbi/knockapi/models/identify_user_request.rbi +164 -0
  261. data/rbi/knockapi/models/inline_identify_user_request.rbi +176 -0
  262. data/rbi/knockapi/models/inline_object_request.rbi +122 -0
  263. data/rbi/knockapi/models/inline_tenant_request.rbi +18 -0
  264. data/rbi/knockapi/models/integrations/census_custom_destination_params.rbi +75 -0
  265. data/rbi/knockapi/models/integrations/census_custom_destination_response.rbi +50 -0
  266. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_params.rbi +75 -0
  267. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_response.rbi +50 -0
  268. data/rbi/knockapi/models/message.rbi +406 -0
  269. data/rbi/knockapi/models/message_archive_params.rbi +27 -0
  270. data/rbi/knockapi/models/message_delivery_log.rbi +347 -0
  271. data/rbi/knockapi/models/message_event.rbi +152 -0
  272. data/rbi/knockapi/models/message_get_content_params.rbi +27 -0
  273. data/rbi/knockapi/models/message_get_content_response.rbi +899 -0
  274. data/rbi/knockapi/models/message_get_params.rbi +27 -0
  275. data/rbi/knockapi/models/message_list_activities_params.rbi +82 -0
  276. data/rbi/knockapi/models/message_list_delivery_logs_params.rbi +71 -0
  277. data/rbi/knockapi/models/message_list_events_params.rbi +68 -0
  278. data/rbi/knockapi/models/message_list_params.rbi +360 -0
  279. data/rbi/knockapi/models/message_mark_as_interacted_params.rbi +49 -0
  280. data/rbi/knockapi/models/message_mark_as_read_params.rbi +27 -0
  281. data/rbi/knockapi/models/message_mark_as_seen_params.rbi +27 -0
  282. data/rbi/knockapi/models/message_mark_as_unread_params.rbi +30 -0
  283. data/rbi/knockapi/models/message_mark_as_unseen_params.rbi +30 -0
  284. data/rbi/knockapi/models/message_unarchive_params.rbi +27 -0
  285. data/rbi/knockapi/models/messages/batch_archive_params.rbi +48 -0
  286. data/rbi/knockapi/models/messages/batch_archive_response.rbi +13 -0
  287. data/rbi/knockapi/models/messages/batch_get_content_params.rbi +48 -0
  288. data/rbi/knockapi/models/messages/batch_get_content_response.rbi +909 -0
  289. data/rbi/knockapi/models/messages/batch_mark_as_interacted_params.rbi +56 -0
  290. data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +13 -0
  291. data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +48 -0
  292. data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +13 -0
  293. data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +48 -0
  294. data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +13 -0
  295. data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +48 -0
  296. data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +13 -0
  297. data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +48 -0
  298. data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +13 -0
  299. data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +48 -0
  300. data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +13 -0
  301. data/rbi/knockapi/models/object.rbi +79 -0
  302. data/rbi/knockapi/models/object_add_subscriptions_params.rbi +80 -0
  303. data/rbi/knockapi/models/object_add_subscriptions_response.rbi +11 -0
  304. data/rbi/knockapi/models/object_delete_params.rbi +27 -0
  305. data/rbi/knockapi/models/object_delete_response.rbi +7 -0
  306. data/rbi/knockapi/models/object_delete_subscriptions_params.rbi +61 -0
  307. data/rbi/knockapi/models/object_delete_subscriptions_response.rbi +11 -0
  308. data/rbi/knockapi/models/object_get_channel_data_params.rbi +30 -0
  309. data/rbi/knockapi/models/object_get_params.rbi +27 -0
  310. data/rbi/knockapi/models/object_get_preferences_params.rbi +30 -0
  311. data/rbi/knockapi/models/object_list_messages_params.rbi +390 -0
  312. data/rbi/knockapi/models/object_list_params.rbi +106 -0
  313. data/rbi/knockapi/models/object_list_preferences_params.rbi +30 -0
  314. data/rbi/knockapi/models/object_list_preferences_response.rbi +11 -0
  315. data/rbi/knockapi/models/object_list_schedules_params.rbi +93 -0
  316. data/rbi/knockapi/models/object_list_subscriptions_params.rbi +279 -0
  317. data/rbi/knockapi/models/object_set_channel_data_params.rbi +30 -0
  318. data/rbi/knockapi/models/object_set_params.rbi +141 -0
  319. data/rbi/knockapi/models/object_set_preferences_params.rbi +30 -0
  320. data/rbi/knockapi/models/object_unset_channel_data_params.rbi +30 -0
  321. data/rbi/knockapi/models/object_unset_channel_data_response.rbi +7 -0
  322. data/rbi/knockapi/models/objects/bulk_add_subscriptions_params.rbi +129 -0
  323. data/rbi/knockapi/models/objects/bulk_delete_params.rbi +48 -0
  324. data/rbi/knockapi/models/objects/bulk_set_params.rbi +45 -0
  325. data/rbi/knockapi/models/page_info.rbi +60 -0
  326. data/rbi/knockapi/models/providers/ms_team_check_auth_params.rbi +48 -0
  327. data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +95 -0
  328. data/rbi/knockapi/models/providers/ms_team_list_channels_params.rbi +121 -0
  329. data/rbi/knockapi/models/providers/ms_team_list_channels_response.rbi +140 -0
  330. data/rbi/knockapi/models/providers/ms_team_list_teams_params.rbi +147 -0
  331. data/rbi/knockapi/models/providers/ms_team_list_teams_response.rbi +54 -0
  332. data/rbi/knockapi/models/providers/ms_team_revoke_access_params.rbi +48 -0
  333. data/rbi/knockapi/models/providers/ms_team_revoke_access_response.rbi +36 -0
  334. data/rbi/knockapi/models/providers/slack_check_auth_params.rbi +48 -0
  335. data/rbi/knockapi/models/providers/slack_check_auth_response.rbi +95 -0
  336. data/rbi/knockapi/models/providers/slack_list_channels_params.rbi +158 -0
  337. data/rbi/knockapi/models/providers/slack_list_channels_response.rbi +75 -0
  338. data/rbi/knockapi/models/providers/slack_revoke_access_params.rbi +48 -0
  339. data/rbi/knockapi/models/providers/slack_revoke_access_response.rbi +36 -0
  340. data/rbi/knockapi/models/recipient.rbi +16 -0
  341. data/rbi/knockapi/models/recipient_reference.rbi +58 -0
  342. data/rbi/knockapi/models/recipient_request.rbi +25 -0
  343. data/rbi/knockapi/models/recipients/channel_data.rbi +198 -0
  344. data/rbi/knockapi/models/recipients/channel_data_request.rbi +91 -0
  345. data/rbi/knockapi/models/recipients/discord_channel_data.rbi +190 -0
  346. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +41 -0
  347. data/rbi/knockapi/models/recipients/inline_preference_set_request.rbi +15 -0
  348. data/rbi/knockapi/models/recipients/ms_teams_channel_data.rbi +231 -0
  349. data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +33 -0
  350. data/rbi/knockapi/models/recipients/preference_set.rbi +314 -0
  351. data/rbi/knockapi/models/recipients/preference_set_channel_type_setting.rbi +38 -0
  352. data/rbi/knockapi/models/recipients/preference_set_channel_types.rbi +389 -0
  353. data/rbi/knockapi/models/recipients/preference_set_request.rbi +309 -0
  354. data/rbi/knockapi/models/recipients/push_channel_data.rbi +33 -0
  355. data/rbi/knockapi/models/recipients/slack_channel_data.rbi +212 -0
  356. data/rbi/knockapi/models/recipients/subscription.rbi +86 -0
  357. data/rbi/knockapi/models/schedule.rbi +132 -0
  358. data/rbi/knockapi/models/schedule_create_params.rbi +115 -0
  359. data/rbi/knockapi/models/schedule_create_response.rbi +11 -0
  360. data/rbi/knockapi/models/schedule_delete_params.rbi +43 -0
  361. data/rbi/knockapi/models/schedule_delete_response.rbi +11 -0
  362. data/rbi/knockapi/models/schedule_list_params.rbi +98 -0
  363. data/rbi/knockapi/models/schedule_repeat_rule.rbi +148 -0
  364. data/rbi/knockapi/models/schedule_update_params.rbi +113 -0
  365. data/rbi/knockapi/models/schedule_update_response.rbi +11 -0
  366. data/rbi/knockapi/models/schedules/bulk_create_params.rbi +213 -0
  367. data/rbi/knockapi/models/tenant.rbi +188 -0
  368. data/rbi/knockapi/models/tenant_delete_params.rbi +27 -0
  369. data/rbi/knockapi/models/tenant_delete_response.rbi +7 -0
  370. data/rbi/knockapi/models/tenant_get_params.rbi +27 -0
  371. data/rbi/knockapi/models/tenant_list_params.rbi +90 -0
  372. data/rbi/knockapi/models/tenant_request.rbi +243 -0
  373. data/rbi/knockapi/models/tenant_set_params.rbi +241 -0
  374. data/rbi/knockapi/models/tenants/bulk_delete_params.rbi +48 -0
  375. data/rbi/knockapi/models/tenants/bulk_set_params.rbi +45 -0
  376. data/rbi/knockapi/models/user.rbi +110 -0
  377. data/rbi/knockapi/models/user_delete_params.rbi +27 -0
  378. data/rbi/knockapi/models/user_delete_response.rbi +7 -0
  379. data/rbi/knockapi/models/user_get_channel_data_params.rbi +27 -0
  380. data/rbi/knockapi/models/user_get_params.rbi +27 -0
  381. data/rbi/knockapi/models/user_get_preferences_params.rbi +43 -0
  382. data/rbi/knockapi/models/user_list_messages_params.rbi +386 -0
  383. data/rbi/knockapi/models/user_list_params.rbi +106 -0
  384. data/rbi/knockapi/models/user_list_preferences_params.rbi +30 -0
  385. data/rbi/knockapi/models/user_list_preferences_response.rbi +11 -0
  386. data/rbi/knockapi/models/user_list_schedules_params.rbi +90 -0
  387. data/rbi/knockapi/models/user_list_subscriptions_params.rbi +134 -0
  388. data/rbi/knockapi/models/user_merge_params.rbi +40 -0
  389. data/rbi/knockapi/models/user_set_channel_data_params.rbi +27 -0
  390. data/rbi/knockapi/models/user_set_preferences_params.rbi +27 -0
  391. data/rbi/knockapi/models/user_unset_channel_data_params.rbi +30 -0
  392. data/rbi/knockapi/models/user_unset_channel_data_response.rbi +7 -0
  393. data/rbi/knockapi/models/user_update_params.rbi +27 -0
  394. data/rbi/knockapi/models/users/bulk_delete_params.rbi +48 -0
  395. data/rbi/knockapi/models/users/bulk_identify_params.rbi +48 -0
  396. data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +63 -0
  397. data/rbi/knockapi/models/users/feed_get_settings_params.rbi +32 -0
  398. data/rbi/knockapi/models/users/feed_get_settings_response.rbi +83 -0
  399. data/rbi/knockapi/models/users/feed_list_items_params.rbi +251 -0
  400. data/rbi/knockapi/models/users/feed_list_items_response.rbi +540 -0
  401. data/rbi/knockapi/models/users/guide_get_channel_params.rbi +73 -0
  402. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +183 -0
  403. data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +124 -0
  404. data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +33 -0
  405. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +124 -0
  406. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +33 -0
  407. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +124 -0
  408. data/rbi/knockapi/models/users/guide_mark_message_as_seen_response.rbi +33 -0
  409. data/rbi/knockapi/models/workflow_cancel_params.rbi +82 -0
  410. data/rbi/knockapi/models/workflow_cancel_response.rbi +7 -0
  411. data/rbi/knockapi/models/workflow_trigger_params.rbi +137 -0
  412. data/rbi/knockapi/models/workflow_trigger_response.rbi +33 -0
  413. data/rbi/knockapi/models.rbi +179 -0
  414. data/rbi/knockapi/request_options.rbi +59 -0
  415. data/rbi/knockapi/resources/audiences.rbi +61 -0
  416. data/rbi/knockapi/resources/bulk_operations.rbi +26 -0
  417. data/rbi/knockapi/resources/channels/bulk.rbi +70 -0
  418. data/rbi/knockapi/resources/channels.rbi +15 -0
  419. data/rbi/knockapi/resources/integrations/census.rbi +39 -0
  420. data/rbi/knockapi/resources/integrations/hightouch.rbi +39 -0
  421. data/rbi/knockapi/resources/integrations.rbi +18 -0
  422. data/rbi/knockapi/resources/messages/batch.rbi +145 -0
  423. data/rbi/knockapi/resources/messages.rbi +290 -0
  424. data/rbi/knockapi/resources/objects/bulk.rbi +72 -0
  425. data/rbi/knockapi/resources/objects.rbi +504 -0
  426. data/rbi/knockapi/resources/providers/ms_teams.rbi +98 -0
  427. data/rbi/knockapi/resources/providers/slack.rbi +72 -0
  428. data/rbi/knockapi/resources/providers.rbi +18 -0
  429. data/rbi/knockapi/resources/recipients/channel_data.rbi +14 -0
  430. data/rbi/knockapi/resources/recipients/preferences.rbi +14 -0
  431. data/rbi/knockapi/resources/recipients/subscriptions.rbi +14 -0
  432. data/rbi/knockapi/resources/recipients.rbi +21 -0
  433. data/rbi/knockapi/resources/schedules/bulk.rbi +31 -0
  434. data/rbi/knockapi/resources/schedules.rbi +146 -0
  435. data/rbi/knockapi/resources/shared.rbi +12 -0
  436. data/rbi/knockapi/resources/tenants/bulk.rbi +42 -0
  437. data/rbi/knockapi/resources/tenants.rbi +111 -0
  438. data/rbi/knockapi/resources/users/bulk.rbi +64 -0
  439. data/rbi/knockapi/resources/users/feeds.rbi +83 -0
  440. data/rbi/knockapi/resources/users/guides.rbi +177 -0
  441. data/rbi/knockapi/resources/users.rbi +426 -0
  442. data/rbi/knockapi/resources/workflows.rbi +101 -0
  443. data/rbi/knockapi/version.rbi +5 -0
  444. data/sig/knockapi/client.rbs +50 -0
  445. data/sig/knockapi/errors.rbs +101 -0
  446. data/sig/knockapi/file_part.rbs +21 -0
  447. data/sig/knockapi/internal/entries_cursor.rbs +22 -0
  448. data/sig/knockapi/internal/items_cursor.rbs +22 -0
  449. data/sig/knockapi/internal/ms_teams_pagination.rbs +13 -0
  450. data/sig/knockapi/internal/slack_channels_cursor.rbs +13 -0
  451. data/sig/knockapi/internal/transport/base_client.rbs +131 -0
  452. data/sig/knockapi/internal/transport/pooled_net_requester.rbs +45 -0
  453. data/sig/knockapi/internal/type/array_of.rbs +45 -0
  454. data/sig/knockapi/internal/type/base_model.rbs +100 -0
  455. data/sig/knockapi/internal/type/base_page.rbs +24 -0
  456. data/sig/knockapi/internal/type/boolean.rbs +23 -0
  457. data/sig/knockapi/internal/type/converter.rbs +56 -0
  458. data/sig/knockapi/internal/type/enum.rbs +30 -0
  459. data/sig/knockapi/internal/type/file_input.rbs +23 -0
  460. data/sig/knockapi/internal/type/hash_of.rbs +45 -0
  461. data/sig/knockapi/internal/type/request_parameters.rbs +17 -0
  462. data/sig/knockapi/internal/type/union.rbs +50 -0
  463. data/sig/knockapi/internal/type/unknown.rbs +23 -0
  464. data/sig/knockapi/internal/util.rbs +173 -0
  465. data/sig/knockapi/internal.rbs +7 -0
  466. data/sig/knockapi/models/activity.rbs +52 -0
  467. data/sig/knockapi/models/audience_add_members_params.rbs +46 -0
  468. data/sig/knockapi/models/audience_add_members_response.rbs +5 -0
  469. data/sig/knockapi/models/audience_list_members_params.rbs +13 -0
  470. data/sig/knockapi/models/audience_list_members_response.rbs +20 -0
  471. data/sig/knockapi/models/audience_member.rbs +32 -0
  472. data/sig/knockapi/models/audience_remove_members_params.rbs +46 -0
  473. data/sig/knockapi/models/audience_remove_members_response.rbs +5 -0
  474. data/sig/knockapi/models/bulk_operation.rbs +103 -0
  475. data/sig/knockapi/models/bulk_operation_get_params.rbs +13 -0
  476. data/sig/knockapi/models/channels/bulk_update_message_status_params.rbs +174 -0
  477. data/sig/knockapi/models/condition.rbs +69 -0
  478. data/sig/knockapi/models/identify_user_request.rbs +48 -0
  479. data/sig/knockapi/models/inline_identify_user_request.rbs +52 -0
  480. data/sig/knockapi/models/inline_object_request.rbs +32 -0
  481. data/sig/knockapi/models/inline_tenant_request.rbs +11 -0
  482. data/sig/knockapi/models/integrations/census_custom_destination_params.rbs +37 -0
  483. data/sig/knockapi/models/integrations/census_custom_destination_response.rbs +20 -0
  484. data/sig/knockapi/models/integrations/hightouch_embedded_destination_params.rbs +37 -0
  485. data/sig/knockapi/models/integrations/hightouch_embedded_destination_response.rbs +20 -0
  486. data/sig/knockapi/models/message.rbs +185 -0
  487. data/sig/knockapi/models/message_archive_params.rbs +13 -0
  488. data/sig/knockapi/models/message_delivery_log.rbs +146 -0
  489. data/sig/knockapi/models/message_event.rbs +75 -0
  490. data/sig/knockapi/models/message_get_content_params.rbs +13 -0
  491. data/sig/knockapi/models/message_get_content_response.rbs +316 -0
  492. data/sig/knockapi/models/message_get_params.rbs +13 -0
  493. data/sig/knockapi/models/message_list_activities_params.rbs +41 -0
  494. data/sig/knockapi/models/message_list_delivery_logs_params.rbs +31 -0
  495. data/sig/knockapi/models/message_list_events_params.rbs +31 -0
  496. data/sig/knockapi/models/message_list_params.rbs +172 -0
  497. data/sig/knockapi/models/message_mark_as_interacted_params.rbs +21 -0
  498. data/sig/knockapi/models/message_mark_as_read_params.rbs +13 -0
  499. data/sig/knockapi/models/message_mark_as_seen_params.rbs +13 -0
  500. data/sig/knockapi/models/message_mark_as_unread_params.rbs +13 -0
  501. data/sig/knockapi/models/message_mark_as_unseen_params.rbs +13 -0
  502. data/sig/knockapi/models/message_unarchive_params.rbs +13 -0
  503. data/sig/knockapi/models/messages/batch_archive_params.rbs +21 -0
  504. data/sig/knockapi/models/messages/batch_archive_response.rbs +9 -0
  505. data/sig/knockapi/models/messages/batch_get_content_params.rbs +21 -0
  506. data/sig/knockapi/models/messages/batch_get_content_response.rbs +327 -0
  507. data/sig/knockapi/models/messages/batch_mark_as_interacted_params.rbs +24 -0
  508. data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +9 -0
  509. data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +21 -0
  510. data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +9 -0
  511. data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +21 -0
  512. data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +9 -0
  513. data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +21 -0
  514. data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +9 -0
  515. data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +21 -0
  516. data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +9 -0
  517. data/sig/knockapi/models/messages/batch_unarchive_params.rbs +21 -0
  518. data/sig/knockapi/models/messages/batch_unarchive_response.rbs +9 -0
  519. data/sig/knockapi/models/object.rbs +38 -0
  520. data/sig/knockapi/models/object_add_subscriptions_params.rbs +25 -0
  521. data/sig/knockapi/models/object_add_subscriptions_response.rbs +8 -0
  522. data/sig/knockapi/models/object_delete_params.rbs +13 -0
  523. data/sig/knockapi/models/object_delete_response.rbs +5 -0
  524. data/sig/knockapi/models/object_delete_subscriptions_params.rbs +19 -0
  525. data/sig/knockapi/models/object_delete_subscriptions_response.rbs +8 -0
  526. data/sig/knockapi/models/object_get_channel_data_params.rbs +13 -0
  527. data/sig/knockapi/models/object_get_params.rbs +12 -0
  528. data/sig/knockapi/models/object_get_preferences_params.rbs +13 -0
  529. data/sig/knockapi/models/object_list_messages_params.rbs +172 -0
  530. data/sig/knockapi/models/object_list_params.rbs +53 -0
  531. data/sig/knockapi/models/object_list_preferences_params.rbs +13 -0
  532. data/sig/knockapi/models/object_list_preferences_response.rbs +8 -0
  533. data/sig/knockapi/models/object_list_schedules_params.rbs +47 -0
  534. data/sig/knockapi/models/object_list_subscriptions_params.rbs +102 -0
  535. data/sig/knockapi/models/object_set_channel_data_params.rbs +13 -0
  536. data/sig/knockapi/models/object_set_params.rbs +41 -0
  537. data/sig/knockapi/models/object_set_preferences_params.rbs +13 -0
  538. data/sig/knockapi/models/object_unset_channel_data_params.rbs +13 -0
  539. data/sig/knockapi/models/object_unset_channel_data_response.rbs +5 -0
  540. data/sig/knockapi/models/objects/bulk_add_subscriptions_params.rbs +40 -0
  541. data/sig/knockapi/models/objects/bulk_delete_params.rbs +21 -0
  542. data/sig/knockapi/models/objects/bulk_set_params.rbs +21 -0
  543. data/sig/knockapi/models/page_info.rbs +23 -0
  544. data/sig/knockapi/models/providers/ms_team_check_auth_params.rbs +21 -0
  545. data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +28 -0
  546. data/sig/knockapi/models/providers/ms_team_list_channels_params.rbs +49 -0
  547. data/sig/knockapi/models/providers/ms_team_list_channels_response.rbs +57 -0
  548. data/sig/knockapi/models/providers/ms_team_list_teams_params.rbs +59 -0
  549. data/sig/knockapi/models/providers/ms_team_list_teams_response.rbs +22 -0
  550. data/sig/knockapi/models/providers/ms_team_revoke_access_params.rbs +21 -0
  551. data/sig/knockapi/models/providers/ms_team_revoke_access_response.rbs +15 -0
  552. data/sig/knockapi/models/providers/slack_check_auth_params.rbs +21 -0
  553. data/sig/knockapi/models/providers/slack_check_auth_response.rbs +28 -0
  554. data/sig/knockapi/models/providers/slack_list_channels_params.rbs +70 -0
  555. data/sig/knockapi/models/providers/slack_list_channels_response.rbs +34 -0
  556. data/sig/knockapi/models/providers/slack_revoke_access_params.rbs +21 -0
  557. data/sig/knockapi/models/providers/slack_revoke_access_response.rbs +15 -0
  558. data/sig/knockapi/models/recipient.rbs +11 -0
  559. data/sig/knockapi/models/recipient_reference.rbs +26 -0
  560. data/sig/knockapi/models/recipient_request.rbs +14 -0
  561. data/sig/knockapi/models/recipients/channel_data.rbs +72 -0
  562. data/sig/knockapi/models/recipients/channel_data_request.rbs +29 -0
  563. data/sig/knockapi/models/recipients/discord_channel_data.rbs +57 -0
  564. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +23 -0
  565. data/sig/knockapi/models/recipients/inline_preference_set_request.rbs +10 -0
  566. data/sig/knockapi/models/recipients/ms_teams_channel_data.rbs +78 -0
  567. data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +13 -0
  568. data/sig/knockapi/models/recipients/preference_set.rbs +84 -0
  569. data/sig/knockapi/models/recipients/preference_set_channel_type_setting.rbs +14 -0
  570. data/sig/knockapi/models/recipients/preference_set_channel_types.rbs +112 -0
  571. data/sig/knockapi/models/recipients/preference_set_request.rbs +80 -0
  572. data/sig/knockapi/models/recipients/push_channel_data.rbs +13 -0
  573. data/sig/knockapi/models/recipients/slack_channel_data.rbs +65 -0
  574. data/sig/knockapi/models/recipients/subscription.rbs +38 -0
  575. data/sig/knockapi/models/schedule.rbs +62 -0
  576. data/sig/knockapi/models/schedule_create_params.rbs +45 -0
  577. data/sig/knockapi/models/schedule_create_response.rbs +7 -0
  578. data/sig/knockapi/models/schedule_delete_params.rbs +19 -0
  579. data/sig/knockapi/models/schedule_delete_response.rbs +7 -0
  580. data/sig/knockapi/models/schedule_list_params.rbs +51 -0
  581. data/sig/knockapi/models/schedule_repeat_rule.rbs +71 -0
  582. data/sig/knockapi/models/schedule_update_params.rbs +49 -0
  583. data/sig/knockapi/models/schedule_update_response.rbs +7 -0
  584. data/sig/knockapi/models/schedules/bulk_create_params.rbs +70 -0
  585. data/sig/knockapi/models/tenant.rbs +70 -0
  586. data/sig/knockapi/models/tenant_delete_params.rbs +13 -0
  587. data/sig/knockapi/models/tenant_delete_response.rbs +5 -0
  588. data/sig/knockapi/models/tenant_get_params.rbs +12 -0
  589. data/sig/knockapi/models/tenant_list_params.rbs +47 -0
  590. data/sig/knockapi/models/tenant_request.rbs +78 -0
  591. data/sig/knockapi/models/tenant_set_params.rbs +79 -0
  592. data/sig/knockapi/models/tenants/bulk_delete_params.rbs +21 -0
  593. data/sig/knockapi/models/tenants/bulk_set_params.rbs +21 -0
  594. data/sig/knockapi/models/user.rbs +48 -0
  595. data/sig/knockapi/models/user_delete_params.rbs +13 -0
  596. data/sig/knockapi/models/user_delete_response.rbs +5 -0
  597. data/sig/knockapi/models/user_get_channel_data_params.rbs +13 -0
  598. data/sig/knockapi/models/user_get_params.rbs +12 -0
  599. data/sig/knockapi/models/user_get_preferences_params.rbs +20 -0
  600. data/sig/knockapi/models/user_list_messages_params.rbs +172 -0
  601. data/sig/knockapi/models/user_list_params.rbs +53 -0
  602. data/sig/knockapi/models/user_list_preferences_params.rbs +13 -0
  603. data/sig/knockapi/models/user_list_preferences_response.rbs +8 -0
  604. data/sig/knockapi/models/user_list_schedules_params.rbs +47 -0
  605. data/sig/knockapi/models/user_list_subscriptions_params.rbs +59 -0
  606. data/sig/knockapi/models/user_merge_params.rbs +18 -0
  607. data/sig/knockapi/models/user_set_channel_data_params.rbs +13 -0
  608. data/sig/knockapi/models/user_set_preferences_params.rbs +13 -0
  609. data/sig/knockapi/models/user_unset_channel_data_params.rbs +13 -0
  610. data/sig/knockapi/models/user_unset_channel_data_response.rbs +5 -0
  611. data/sig/knockapi/models/user_update_params.rbs +13 -0
  612. data/sig/knockapi/models/users/bulk_delete_params.rbs +21 -0
  613. data/sig/knockapi/models/users/bulk_identify_params.rbs +21 -0
  614. data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +27 -0
  615. data/sig/knockapi/models/users/feed_get_settings_params.rbs +15 -0
  616. data/sig/knockapi/models/users/feed_get_settings_response.rbs +24 -0
  617. data/sig/knockapi/models/users/feed_list_items_params.rbs +109 -0
  618. data/sig/knockapi/models/users/feed_list_items_response.rbs +204 -0
  619. data/sig/knockapi/models/users/guide_get_channel_params.rbs +33 -0
  620. data/sig/knockapi/models/users/guide_get_channel_response.rbs +65 -0
  621. data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +63 -0
  622. data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +13 -0
  623. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +63 -0
  624. data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +13 -0
  625. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +63 -0
  626. data/sig/knockapi/models/users/guide_mark_message_as_seen_response.rbs +13 -0
  627. data/sig/knockapi/models/workflow_cancel_params.rbs +25 -0
  628. data/sig/knockapi/models/workflow_cancel_response.rbs +5 -0
  629. data/sig/knockapi/models/workflow_trigger_params.rbs +37 -0
  630. data/sig/knockapi/models/workflow_trigger_response.rbs +11 -0
  631. data/sig/knockapi/models.rbs +173 -0
  632. data/sig/knockapi/request_options.rbs +34 -0
  633. data/sig/knockapi/resources/audiences.rbs +24 -0
  634. data/sig/knockapi/resources/bulk_operations.rbs +12 -0
  635. data/sig/knockapi/resources/channels/bulk.rbs +25 -0
  636. data/sig/knockapi/resources/channels.rbs +9 -0
  637. data/sig/knockapi/resources/integrations/census.rbs +17 -0
  638. data/sig/knockapi/resources/integrations/hightouch.rbs +17 -0
  639. data/sig/knockapi/resources/integrations.rbs +11 -0
  640. data/sig/knockapi/resources/messages/batch.rbs +50 -0
  641. data/sig/knockapi/resources/messages.rbs +98 -0
  642. data/sig/knockapi/resources/objects/bulk.rbs +27 -0
  643. data/sig/knockapi/resources/objects.rbs +144 -0
  644. data/sig/knockapi/resources/providers/ms_teams.rbs +36 -0
  645. data/sig/knockapi/resources/providers/slack.rbs +28 -0
  646. data/sig/knockapi/resources/providers.rbs +11 -0
  647. data/sig/knockapi/resources/recipients/channel_data.rbs +9 -0
  648. data/sig/knockapi/resources/recipients/preferences.rbs +9 -0
  649. data/sig/knockapi/resources/recipients/subscriptions.rbs +9 -0
  650. data/sig/knockapi/resources/recipients.rbs +13 -0
  651. data/sig/knockapi/resources/schedules/bulk.rbs +14 -0
  652. data/sig/knockapi/resources/schedules.rbs +46 -0
  653. data/sig/knockapi/resources/shared.rbs +7 -0
  654. data/sig/knockapi/resources/tenants/bulk.rbs +19 -0
  655. data/sig/knockapi/resources/tenants.rbs +36 -0
  656. data/sig/knockapi/resources/users/bulk.rbs +25 -0
  657. data/sig/knockapi/resources/users/feeds.rbs +31 -0
  658. data/sig/knockapi/resources/users/guides.rbs +63 -0
  659. data/sig/knockapi/resources/users.rbs +130 -0
  660. data/sig/knockapi/resources/workflows.rbs +24 -0
  661. data/sig/knockapi/version.rbs +3 -0
  662. metadata +678 -77
  663. data/.github/workflows/publish.yml +0 -17
  664. data/.github/workflows/ruby.yml +0 -47
  665. data/.gitignore +0 -49
  666. data/.rubocop.yml +0 -8
  667. data/.ruby-version +0 -1
  668. data/.tool-versions +0 -1
  669. data/CONTRIBUTING.md +0 -31
  670. data/Gemfile +0 -9
  671. data/Gemfile.lock +0 -63
  672. data/LICENSE +0 -21
  673. data/bin/console +0 -8
  674. data/bin/publish +0 -5
  675. data/knockapi.gemspec +0 -30
  676. data/lib/knock/bulk_operations.rb +0 -27
  677. data/lib/knock/client.rb +0 -149
  678. data/lib/knock/configuration.rb +0 -18
  679. data/lib/knock/errors.rb +0 -57
  680. data/lib/knock/messages.rb +0 -93
  681. data/lib/knock/objects.rb +0 -442
  682. data/lib/knock/preferences.rb +0 -114
  683. data/lib/knock/tenants.rb +0 -72
  684. data/lib/knock/users.rb +0 -420
  685. data/lib/knock/version.rb +0 -5
  686. data/lib/knock/workflows.rb +0 -152
  687. data/lib/knock.rb +0 -71
  688. data/spec/configuration_spec.rb +0 -63
  689. data/spec/tenants_spec.rb +0 -66
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Providers
6
+ class Slack
7
+ # Check if a Slack channel is authenticated.
8
+ #
9
+ # @overload check_auth(channel_id, access_token_object:, request_options: {})
10
+ #
11
+ # @param channel_id [String] The ID of the Knock Slack channel to check.
12
+ #
13
+ # @param access_token_object [String] A JSON encoded string containing the access token object reference.
14
+ #
15
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Knockapi::Models::Providers::SlackCheckAuthResponse]
18
+ #
19
+ # @see Knockapi::Models::Providers::SlackCheckAuthParams
20
+ def check_auth(channel_id, params)
21
+ parsed, options = Knockapi::Providers::SlackCheckAuthParams.dump_request(params)
22
+ @client.request(
23
+ method: :get,
24
+ path: ["v1/providers/slack/%1$s/auth_check", channel_id],
25
+ query: parsed,
26
+ model: Knockapi::Models::Providers::SlackCheckAuthResponse,
27
+ options: options
28
+ )
29
+ end
30
+
31
+ # List Slack channels for a Slack workspace.
32
+ #
33
+ # @overload list_channels(channel_id, access_token_object:, query_options: nil, request_options: {})
34
+ #
35
+ # @param channel_id [String] The ID of the Knock Slack channel to get channels for.
36
+ #
37
+ # @param access_token_object [String] A JSON encoded string containing the access token object reference.
38
+ #
39
+ # @param query_options [Knockapi::Providers::SlackListChannelsParams::QueryOptions]
40
+ #
41
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
42
+ #
43
+ # @return [Knockapi::Internal::SlackChannelsCursor<Knockapi::Models::Providers::SlackListChannelsResponse>]
44
+ #
45
+ # @see Knockapi::Models::Providers::SlackListChannelsParams
46
+ def list_channels(channel_id, params)
47
+ parsed, options = Knockapi::Providers::SlackListChannelsParams.dump_request(params)
48
+ @client.request(
49
+ method: :get,
50
+ path: ["v1/providers/slack/%1$s/channels", channel_id],
51
+ query: parsed,
52
+ page: Knockapi::Internal::SlackChannelsCursor,
53
+ model: Knockapi::Models::Providers::SlackListChannelsResponse,
54
+ options: options
55
+ )
56
+ end
57
+
58
+ # Revoke access for a Slack channel.
59
+ #
60
+ # @overload revoke_access(channel_id, access_token_object:, request_options: {})
61
+ #
62
+ # @param channel_id [String] The ID of the Knock Slack channel to revoke access for.
63
+ #
64
+ # @param access_token_object [String] A JSON encoded string containing the access token object reference.
65
+ #
66
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
67
+ #
68
+ # @return [Knockapi::Models::Providers::SlackRevokeAccessResponse]
69
+ #
70
+ # @see Knockapi::Models::Providers::SlackRevokeAccessParams
71
+ def revoke_access(channel_id, params)
72
+ parsed, options = Knockapi::Providers::SlackRevokeAccessParams.dump_request(params)
73
+ @client.request(
74
+ method: :put,
75
+ path: ["v1/providers/slack/%1$s/revoke_access", channel_id],
76
+ query: parsed,
77
+ model: Knockapi::Models::Providers::SlackRevokeAccessResponse,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # @api private
83
+ #
84
+ # @param client [Knockapi::Client]
85
+ def initialize(client:)
86
+ @client = client
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Providers
6
+ # @return [Knockapi::Resources::Providers::Slack]
7
+ attr_reader :slack
8
+
9
+ # @return [Knockapi::Resources::Providers::MsTeams]
10
+ attr_reader :ms_teams
11
+
12
+ # @api private
13
+ #
14
+ # @param client [Knockapi::Client]
15
+ def initialize(client:)
16
+ @client = client
17
+ @slack = Knockapi::Resources::Providers::Slack.new(client: client)
18
+ @ms_teams = Knockapi::Resources::Providers::MsTeams.new(client: client)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Recipients
6
+ class ChannelData
7
+ # @api private
8
+ #
9
+ # @param client [Knockapi::Client]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Recipients
6
+ class Preferences
7
+ # @api private
8
+ #
9
+ # @param client [Knockapi::Client]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Recipients
6
+ class Subscriptions
7
+ # @api private
8
+ #
9
+ # @param client [Knockapi::Client]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Recipients
6
+ # @return [Knockapi::Resources::Recipients::Subscriptions]
7
+ attr_reader :subscriptions
8
+
9
+ # @return [Knockapi::Resources::Recipients::Preferences]
10
+ attr_reader :preferences
11
+
12
+ # @return [Knockapi::Resources::Recipients::ChannelData]
13
+ attr_reader :channel_data
14
+
15
+ # @api private
16
+ #
17
+ # @param client [Knockapi::Client]
18
+ def initialize(client:)
19
+ @client = client
20
+ @subscriptions = Knockapi::Resources::Recipients::Subscriptions.new(client: client)
21
+ @preferences = Knockapi::Resources::Recipients::Preferences.new(client: client)
22
+ @channel_data = Knockapi::Resources::Recipients::ChannelData.new(client: client)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Schedules
6
+ class Bulk
7
+ # Bulk creates up to 1,000 schedules at a time. This endpoint also handles
8
+ # [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients)
9
+ # for the `actor`, `recipient`, and `tenant` fields.
10
+ #
11
+ # @overload create(schedules:, request_options: {})
12
+ #
13
+ # @param schedules [Array<Knockapi::Schedules::BulkCreateParams::Schedule>] A list of schedules.
14
+ #
15
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Knockapi::BulkOperation]
18
+ #
19
+ # @see Knockapi::Models::Schedules::BulkCreateParams
20
+ def create(params)
21
+ parsed, options = Knockapi::Schedules::BulkCreateParams.dump_request(params)
22
+ @client.request(
23
+ method: :post,
24
+ path: "v1/schedules/bulk/create",
25
+ body: parsed,
26
+ model: Knockapi::BulkOperation,
27
+ options: options
28
+ )
29
+ end
30
+
31
+ # @api private
32
+ #
33
+ # @param client [Knockapi::Client]
34
+ def initialize(client:)
35
+ @client = client
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,154 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Schedules
6
+ # @return [Knockapi::Resources::Schedules::Bulk]
7
+ attr_reader :bulk
8
+
9
+ # Creates one or more schedules for a workflow with the specified recipients,
10
+ # timing, and data. Schedules can be one-time or recurring. This endpoint also
11
+ # handles
12
+ # [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients)
13
+ # for the `actor`, `recipient`, and `tenant` fields.
14
+ #
15
+ # @overload create(recipients:, repeats:, workflow:, data: nil, ending_at: nil, scheduled_at: nil, tenant: nil, request_options: {})
16
+ #
17
+ # @param recipients [Array<String, Knockapi::InlineIdentifyUserRequest, Knockapi::InlineObjectRequest>] The recipients to set the schedule for. Limited to 100 recipients per request.
18
+ #
19
+ # @param repeats [Array<Knockapi::ScheduleRepeatRule>] The repeat rule for the schedule.
20
+ #
21
+ # @param workflow [String] The key of the workflow.
22
+ #
23
+ # @param data [Hash{Symbol=>Object}, nil] An optional map of data to pass into the workflow execution.
24
+ #
25
+ # @param ending_at [Time, nil] The ending date and time for the schedule.
26
+ #
27
+ # @param scheduled_at [Time, nil] The starting date and time for the schedule.
28
+ #
29
+ # @param tenant [String, Knockapi::TenantRequest, nil] An request to set a tenant inline.
30
+ #
31
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
32
+ #
33
+ # @return [Array<Knockapi::Schedule>]
34
+ #
35
+ # @see Knockapi::Models::ScheduleCreateParams
36
+ def create(params)
37
+ parsed, options = Knockapi::ScheduleCreateParams.dump_request(params)
38
+ @client.request(
39
+ method: :post,
40
+ path: "v1/schedules",
41
+ body: parsed,
42
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Schedule],
43
+ options: options
44
+ )
45
+ end
46
+
47
+ # Some parameter documentations has been truncated, see
48
+ # {Knockapi::Models::ScheduleUpdateParams} for more details.
49
+ #
50
+ # Updates one or more existing schedules with new timing, data, or other
51
+ # properties. All specified schedule IDs will be updated with the same values.
52
+ # This endpoint also handles
53
+ # [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients)
54
+ # for the `actor`, `recipient`, and `tenant` fields.
55
+ #
56
+ # @overload update(schedule_ids:, actor: nil, data: nil, ending_at: nil, repeats: nil, scheduled_at: nil, tenant: nil, request_options: {})
57
+ #
58
+ # @param schedule_ids [Array<String>] A list of schedule IDs.
59
+ #
60
+ # @param actor [String, Knockapi::RecipientReference::ObjectReference, nil] A reference to a recipient, either a user identifier (string) or an object refer
61
+ #
62
+ # @param data [Hash{Symbol=>Object}, nil] An optional map of data to pass into the workflow execution.
63
+ #
64
+ # @param ending_at [Time, nil] The ending date and time for the schedule.
65
+ #
66
+ # @param repeats [Array<Knockapi::ScheduleRepeatRule>] The repeat rule for the schedule.
67
+ #
68
+ # @param scheduled_at [Time, nil] The starting date and time for the schedule.
69
+ #
70
+ # @param tenant [String, Knockapi::TenantRequest, nil] An request to set a tenant inline.
71
+ #
72
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
73
+ #
74
+ # @return [Array<Knockapi::Schedule>]
75
+ #
76
+ # @see Knockapi::Models::ScheduleUpdateParams
77
+ def update(params)
78
+ parsed, options = Knockapi::ScheduleUpdateParams.dump_request(params)
79
+ @client.request(
80
+ method: :put,
81
+ path: "v1/schedules",
82
+ body: parsed,
83
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Schedule],
84
+ options: options
85
+ )
86
+ end
87
+
88
+ # Returns a paginated list of schedules for the current environment, filtered by
89
+ # workflow and optionally by recipients and tenant.
90
+ #
91
+ # @overload list(workflow:, after: nil, before: nil, page_size: nil, recipients: nil, tenant: nil, request_options: {})
92
+ #
93
+ # @param workflow [String] Filter by workflow key.
94
+ #
95
+ # @param after [String] The cursor to fetch entries after.
96
+ #
97
+ # @param before [String] The cursor to fetch entries before.
98
+ #
99
+ # @param page_size [Integer] The number of items per page.
100
+ #
101
+ # @param recipients [Array<String>] Filter by recipient IDs.
102
+ #
103
+ # @param tenant [String] Filter by tenant ID.
104
+ #
105
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
106
+ #
107
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Schedule>]
108
+ #
109
+ # @see Knockapi::Models::ScheduleListParams
110
+ def list(params)
111
+ parsed, options = Knockapi::ScheduleListParams.dump_request(params)
112
+ @client.request(
113
+ method: :get,
114
+ path: "v1/schedules",
115
+ query: parsed,
116
+ page: Knockapi::Internal::EntriesCursor,
117
+ model: Knockapi::Schedule,
118
+ options: options
119
+ )
120
+ end
121
+
122
+ # Permanently deletes one or more schedules identified by the provided schedule
123
+ # IDs. This operation cannot be undone.
124
+ #
125
+ # @overload delete(schedule_ids:, request_options: {})
126
+ #
127
+ # @param schedule_ids [Array<String>] A list of schedule IDs.
128
+ #
129
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
130
+ #
131
+ # @return [Array<Knockapi::Schedule>]
132
+ #
133
+ # @see Knockapi::Models::ScheduleDeleteParams
134
+ def delete(params)
135
+ parsed, options = Knockapi::ScheduleDeleteParams.dump_request(params)
136
+ @client.request(
137
+ method: :delete,
138
+ path: "v1/schedules",
139
+ body: parsed,
140
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Schedule],
141
+ options: options
142
+ )
143
+ end
144
+
145
+ # @api private
146
+ #
147
+ # @param client [Knockapi::Client]
148
+ def initialize(client:)
149
+ @client = client
150
+ @bulk = Knockapi::Resources::Schedules::Bulk.new(client: client)
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Shared
6
+ # @api private
7
+ #
8
+ # @param client [Knockapi::Client]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Tenants
6
+ class Bulk
7
+ # Delete multiple tenants in a single operation. This operation cannot be undone.
8
+ #
9
+ # @overload delete(tenant_ids:, request_options: {})
10
+ #
11
+ # @param tenant_ids [Array<String>] The IDs of the tenants to delete.
12
+ #
13
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
14
+ #
15
+ # @return [Knockapi::BulkOperation]
16
+ #
17
+ # @see Knockapi::Models::Tenants::BulkDeleteParams
18
+ def delete(params)
19
+ parsed, options = Knockapi::Tenants::BulkDeleteParams.dump_request(params)
20
+ @client.request(
21
+ method: :post,
22
+ path: "v1/tenants/bulk/delete",
23
+ query: parsed,
24
+ model: Knockapi::BulkOperation,
25
+ options: options
26
+ )
27
+ end
28
+
29
+ # Set or update up to 1,000 tenants in a single operation.
30
+ #
31
+ # @overload set(tenants:, request_options: {})
32
+ #
33
+ # @param tenants [Array<String, Knockapi::TenantRequest>] The tenants to be upserted.
34
+ #
35
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
36
+ #
37
+ # @return [Knockapi::BulkOperation]
38
+ #
39
+ # @see Knockapi::Models::Tenants::BulkSetParams
40
+ def set(params)
41
+ parsed, options = Knockapi::Tenants::BulkSetParams.dump_request(params)
42
+ @client.request(
43
+ method: :post,
44
+ path: "v1/tenants/bulk/set",
45
+ body: parsed,
46
+ model: Knockapi::BulkOperation,
47
+ options: options
48
+ )
49
+ end
50
+
51
+ # @api private
52
+ #
53
+ # @param client [Knockapi::Client]
54
+ def initialize(client:)
55
+ @client = client
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Tenants
6
+ # @return [Knockapi::Resources::Tenants::Bulk]
7
+ attr_reader :bulk
8
+
9
+ # List tenants for the current environment.
10
+ #
11
+ # @overload list(after: nil, before: nil, name: nil, page_size: nil, tenant_id: nil, request_options: {})
12
+ #
13
+ # @param after [String] The cursor to fetch entries after.
14
+ #
15
+ # @param before [String] The cursor to fetch entries before.
16
+ #
17
+ # @param name [String] Filter tenants by name.
18
+ #
19
+ # @param page_size [Integer] The number of items per page.
20
+ #
21
+ # @param tenant_id [String] Filter tenants by ID.
22
+ #
23
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Tenant>]
26
+ #
27
+ # @see Knockapi::Models::TenantListParams
28
+ def list(params = {})
29
+ parsed, options = Knockapi::TenantListParams.dump_request(params)
30
+ @client.request(
31
+ method: :get,
32
+ path: "v1/tenants",
33
+ query: parsed,
34
+ page: Knockapi::Internal::EntriesCursor,
35
+ model: Knockapi::Tenant,
36
+ options: options
37
+ )
38
+ end
39
+
40
+ # Delete a tenant and all associated data. This operation cannot be undone.
41
+ #
42
+ # @overload delete(id, request_options: {})
43
+ #
44
+ # @param id [String] The unique identifier for the tenant.
45
+ #
46
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
47
+ #
48
+ # @return [String]
49
+ #
50
+ # @see Knockapi::Models::TenantDeleteParams
51
+ def delete(id, params = {})
52
+ @client.request(
53
+ method: :delete,
54
+ path: ["v1/tenants/%1$s", id],
55
+ model: String,
56
+ options: params[:request_options]
57
+ )
58
+ end
59
+
60
+ # Get a tenant by ID.
61
+ #
62
+ # @overload get(id, request_options: {})
63
+ #
64
+ # @param id [String] The unique identifier for the tenant.
65
+ #
66
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
67
+ #
68
+ # @return [Knockapi::Tenant]
69
+ #
70
+ # @see Knockapi::Models::TenantGetParams
71
+ def get(id, params = {})
72
+ @client.request(
73
+ method: :get,
74
+ path: ["v1/tenants/%1$s", id],
75
+ model: Knockapi::Tenant,
76
+ options: params[:request_options]
77
+ )
78
+ end
79
+
80
+ # Sets a tenant within an environment, performing an upsert operation. Any
81
+ # existing properties will be merged with the incoming properties.
82
+ #
83
+ # @overload set(id, channel_data: nil, preferences: nil, settings: nil, request_options: {})
84
+ #
85
+ # @param id [String] The unique identifier for the tenant.
86
+ #
87
+ # @param channel_data [Hash{Symbol=>Knockapi::Recipients::PushChannelData, Knockapi::Recipients::OneSignalChannelData, Knockapi::Recipients::SlackChannelData, Knockapi::Recipients::MsTeamsChannelData, Knockapi::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
88
+ #
89
+ # @param preferences [Hash{Symbol=>Knockapi::Recipients::PreferenceSetRequest}, nil] Inline set preferences for a recipient, where the key is the preference set id.
90
+ #
91
+ # @param settings [Knockapi::TenantSetParams::Settings] The settings for the tenant. Includes branding and preference set.
92
+ #
93
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
94
+ #
95
+ # @return [Knockapi::Tenant]
96
+ #
97
+ # @see Knockapi::Models::TenantSetParams
98
+ def set(id, params = {})
99
+ parsed, options = Knockapi::TenantSetParams.dump_request(params)
100
+ @client.request(
101
+ method: :put,
102
+ path: ["v1/tenants/%1$s", id],
103
+ body: parsed,
104
+ model: Knockapi::Tenant,
105
+ options: options
106
+ )
107
+ end
108
+
109
+ # @api private
110
+ #
111
+ # @param client [Knockapi::Client]
112
+ def initialize(client:)
113
+ @client = client
114
+ @bulk = Knockapi::Resources::Tenants::Bulk.new(client: client)
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Users
6
+ class Bulk
7
+ # Deletes multiple users in a single operation. Accepts up to 100 user IDs to
8
+ # delete and returns a bulk operation that can be queried for progress.
9
+ #
10
+ # @overload delete(user_ids:, request_options: {})
11
+ #
12
+ # @param user_ids [Array<String>] A list of user IDs.
13
+ #
14
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
15
+ #
16
+ # @return [Knockapi::BulkOperation]
17
+ #
18
+ # @see Knockapi::Models::Users::BulkDeleteParams
19
+ def delete(params)
20
+ parsed, options = Knockapi::Users::BulkDeleteParams.dump_request(params)
21
+ @client.request(
22
+ method: :post,
23
+ path: "v1/users/bulk/delete",
24
+ body: parsed,
25
+ model: Knockapi::BulkOperation,
26
+ options: options
27
+ )
28
+ end
29
+
30
+ # Identifies multiple users in a single operation. Allows creating or updating up
31
+ # to 100 users in a single batch with various properties, preferences, and channel
32
+ # data.
33
+ #
34
+ # @overload identify(users:, request_options: {})
35
+ #
36
+ # @param users [Array<Knockapi::InlineIdentifyUserRequest>] A list of users.
37
+ #
38
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
39
+ #
40
+ # @return [Knockapi::BulkOperation]
41
+ #
42
+ # @see Knockapi::Models::Users::BulkIdentifyParams
43
+ def identify(params)
44
+ parsed, options = Knockapi::Users::BulkIdentifyParams.dump_request(params)
45
+ @client.request(
46
+ method: :post,
47
+ path: "v1/users/bulk/identify",
48
+ body: parsed,
49
+ model: Knockapi::BulkOperation,
50
+ options: options
51
+ )
52
+ end
53
+
54
+ # Sets preferences for multiple users in a single operation. Supports either
55
+ # setting the same preferences for multiple users or specific preferences for each
56
+ # user.
57
+ #
58
+ # @overload set_preferences(preferences:, user_ids:, request_options: {})
59
+ #
60
+ # @param preferences [Knockapi::Recipients::PreferenceSetRequest] A request to set a preference set for a recipient.
61
+ #
62
+ # @param user_ids [Array<String>] A list of user IDs.
63
+ #
64
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
65
+ #
66
+ # @return [Knockapi::BulkOperation]
67
+ #
68
+ # @see Knockapi::Models::Users::BulkSetPreferencesParams
69
+ def set_preferences(params)
70
+ parsed, options = Knockapi::Users::BulkSetPreferencesParams.dump_request(params)
71
+ @client.request(
72
+ method: :post,
73
+ path: "v1/users/bulk/preferences",
74
+ body: parsed,
75
+ model: Knockapi::BulkOperation,
76
+ options: options
77
+ )
78
+ end
79
+
80
+ # @api private
81
+ #
82
+ # @param client [Knockapi::Client]
83
+ def initialize(client:)
84
+ @client = client
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end