knockapi 0.6.1 → 1.0.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 (668) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +20 -0
  4. data/README.md +157 -94
  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 +483 -0
  14. data/lib/knockapi/internal/transport/pooled_net_requester.rb +193 -0
  15. data/lib/knockapi/internal/type/array_of.rb +154 -0
  16. data/lib/knockapi/internal/type/base_model.rb +445 -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 +274 -0
  20. data/lib/knockapi/internal/type/enum.rb +107 -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 +48 -0
  24. data/lib/knockapi/internal/type/union.rb +225 -0
  25. data/lib/knockapi/internal/type/unknown.rb +67 -0
  26. data/lib/knockapi/internal/util.rb +790 -0
  27. data/lib/knockapi/internal.rb +11 -0
  28. data/lib/knockapi/models/activity.rb +70 -0
  29. data/lib/knockapi/models/audience_add_members_params.rb +55 -0
  30. data/lib/knockapi/models/audience_list_members_params.rb +14 -0
  31. data/lib/knockapi/models/audience_list_members_response.rb +27 -0
  32. data/lib/knockapi/models/audience_member.rb +56 -0
  33. data/lib/knockapi/models/audience_remove_members_params.rb +55 -0
  34. data/lib/knockapi/models/bulk_operation.rb +166 -0
  35. data/lib/knockapi/models/bulk_operation_get_params.rb +14 -0
  36. data/lib/knockapi/models/channels/bulk_update_message_status_params.rb +167 -0
  37. data/lib/knockapi/models/condition.rb +63 -0
  38. data/lib/knockapi/models/identify_user_request.rb +98 -0
  39. data/lib/knockapi/models/inline_identify_user_request.rb +49 -0
  40. data/lib/knockapi/models/inline_object_request.rb +54 -0
  41. data/lib/knockapi/models/inline_tenant_request.rb +19 -0
  42. data/lib/knockapi/models/integrations/census_custom_destination_params.rb +48 -0
  43. data/lib/knockapi/models/integrations/census_custom_destination_response.rb +27 -0
  44. data/lib/knockapi/models/integrations/hightouch_embedded_destination_params.rb +48 -0
  45. data/lib/knockapi/models/integrations/hightouch_embedded_destination_response.rb +27 -0
  46. data/lib/knockapi/models/message.rb +268 -0
  47. data/lib/knockapi/models/message_archive_params.rb +14 -0
  48. data/lib/knockapi/models/message_delivery_log.rb +202 -0
  49. data/lib/knockapi/models/message_event.rb +91 -0
  50. data/lib/knockapi/models/message_get_content_params.rb +14 -0
  51. data/lib/knockapi/models/message_get_content_response.rb +496 -0
  52. data/lib/knockapi/models/message_get_params.rb +14 -0
  53. data/lib/knockapi/models/message_list_activities_params.rb +46 -0
  54. data/lib/knockapi/models/message_list_delivery_logs_params.rb +38 -0
  55. data/lib/knockapi/models/message_list_events_params.rb +38 -0
  56. data/lib/knockapi/models/message_list_params.rb +200 -0
  57. data/lib/knockapi/models/message_mark_as_interacted_params.rb +22 -0
  58. data/lib/knockapi/models/message_mark_as_read_params.rb +14 -0
  59. data/lib/knockapi/models/message_mark_as_seen_params.rb +14 -0
  60. data/lib/knockapi/models/message_mark_as_unread_params.rb +14 -0
  61. data/lib/knockapi/models/message_mark_as_unseen_params.rb +14 -0
  62. data/lib/knockapi/models/message_unarchive_params.rb +14 -0
  63. data/lib/knockapi/models/messages/activity_list_params.rb +48 -0
  64. data/lib/knockapi/models/messages/batch_archive_params.rb +24 -0
  65. data/lib/knockapi/models/messages/batch_archive_response.rb +10 -0
  66. data/lib/knockapi/models/messages/batch_get_content_params.rb +24 -0
  67. data/lib/knockapi/models/messages/batch_get_content_response.rb +504 -0
  68. data/lib/knockapi/models/messages/batch_mark_as_interacted_params.rb +32 -0
  69. data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +10 -0
  70. data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +24 -0
  71. data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +10 -0
  72. data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +24 -0
  73. data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +10 -0
  74. data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +24 -0
  75. data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +10 -0
  76. data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +24 -0
  77. data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +10 -0
  78. data/lib/knockapi/models/messages/batch_unarchive_params.rb +24 -0
  79. data/lib/knockapi/models/messages/batch_unarchive_response.rb +10 -0
  80. data/lib/knockapi/models/object.rb +51 -0
  81. data/lib/knockapi/models/object_add_subscriptions_params.rb +35 -0
  82. data/lib/knockapi/models/object_add_subscriptions_response.rb +9 -0
  83. data/lib/knockapi/models/object_delete_params.rb +14 -0
  84. data/lib/knockapi/models/object_delete_subscriptions_params.rb +28 -0
  85. data/lib/knockapi/models/object_delete_subscriptions_response.rb +9 -0
  86. data/lib/knockapi/models/object_get_channel_data_params.rb +14 -0
  87. data/lib/knockapi/models/object_get_params.rb +14 -0
  88. data/lib/knockapi/models/object_get_preferences_params.rb +14 -0
  89. data/lib/knockapi/models/object_list_messages_params.rb +200 -0
  90. data/lib/knockapi/models/object_list_params.rb +56 -0
  91. data/lib/knockapi/models/object_list_preferences_params.rb +14 -0
  92. data/lib/knockapi/models/object_list_preferences_response.rb +9 -0
  93. data/lib/knockapi/models/object_list_schedules_params.rb +54 -0
  94. data/lib/knockapi/models/object_list_subscriptions_params.rb +122 -0
  95. data/lib/knockapi/models/object_set_channel_data_params.rb +14 -0
  96. data/lib/knockapi/models/object_set_params.rb +57 -0
  97. data/lib/knockapi/models/object_set_preferences_params.rb +14 -0
  98. data/lib/knockapi/models/object_unset_channel_data_params.rb +14 -0
  99. data/lib/knockapi/models/objects/bulk_add_subscriptions_params.rb +52 -0
  100. data/lib/knockapi/models/objects/bulk_delete_params.rb +24 -0
  101. data/lib/knockapi/models/objects/bulk_set_params.rb +24 -0
  102. data/lib/knockapi/models/page_info.rb +42 -0
  103. data/lib/knockapi/models/providers/ms_team_check_auth_params.rb +24 -0
  104. data/lib/knockapi/models/providers/ms_team_check_auth_response.rb +43 -0
  105. data/lib/knockapi/models/providers/ms_team_list_channels_params.rb +66 -0
  106. data/lib/knockapi/models/providers/ms_team_list_channels_response.rb +74 -0
  107. data/lib/knockapi/models/providers/ms_team_list_teams_params.rb +78 -0
  108. data/lib/knockapi/models/providers/ms_team_list_teams_response.rb +35 -0
  109. data/lib/knockapi/models/providers/ms_team_revoke_access_params.rb +24 -0
  110. data/lib/knockapi/models/providers/ms_team_revoke_access_response.rb +21 -0
  111. data/lib/knockapi/models/providers/slack_check_auth_params.rb +24 -0
  112. data/lib/knockapi/models/providers/slack_check_auth_response.rb +43 -0
  113. data/lib/knockapi/models/providers/slack_list_channels_params.rb +83 -0
  114. data/lib/knockapi/models/providers/slack_list_channels_response.rb +53 -0
  115. data/lib/knockapi/models/providers/slack_revoke_access_params.rb +24 -0
  116. data/lib/knockapi/models/providers/slack_revoke_access_response.rb +21 -0
  117. data/lib/knockapi/models/recipient.rb +19 -0
  118. data/lib/knockapi/models/recipient_reference.rb +41 -0
  119. data/lib/knockapi/models/recipient_request.rb +24 -0
  120. data/lib/knockapi/models/recipients/channel_data.rb +88 -0
  121. data/lib/knockapi/models/recipients/channel_data_request.rb +45 -0
  122. data/lib/knockapi/models/recipients/discord_channel_data.rb +77 -0
  123. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +11 -0
  124. data/lib/knockapi/models/recipients/inline_preference_set_request.rb +11 -0
  125. data/lib/knockapi/models/recipients/ms_teams_channel_data.rb +108 -0
  126. data/lib/knockapi/models/recipients/one_signal_channel_data.rb +20 -0
  127. data/lib/knockapi/models/recipients/preference_set.rb +126 -0
  128. data/lib/knockapi/models/recipients/preference_set_channel_type_setting.rb +21 -0
  129. data/lib/knockapi/models/recipients/preference_set_channel_types.rb +150 -0
  130. data/lib/knockapi/models/recipients/preference_set_request.rb +117 -0
  131. data/lib/knockapi/models/recipients/push_channel_data.rb +20 -0
  132. data/lib/knockapi/models/recipients/slack_channel_data.rb +99 -0
  133. data/lib/knockapi/models/recipients/subscription.rb +60 -0
  134. data/lib/knockapi/models/schedule.rb +113 -0
  135. data/lib/knockapi/models/schedule_create_params.rb +75 -0
  136. data/lib/knockapi/models/schedule_create_response.rb +8 -0
  137. data/lib/knockapi/models/schedule_delete_params.rb +22 -0
  138. data/lib/knockapi/models/schedule_delete_response.rb +8 -0
  139. data/lib/knockapi/models/schedule_list_params.rb +62 -0
  140. data/lib/knockapi/models/schedule_repeat_rule.rb +99 -0
  141. data/lib/knockapi/models/schedule_update_params.rb +75 -0
  142. data/lib/knockapi/models/schedule_update_response.rb +8 -0
  143. data/lib/knockapi/models/schedules/bulk_create_params.rb +103 -0
  144. data/lib/knockapi/models/tenant.rb +115 -0
  145. data/lib/knockapi/models/tenant_delete_params.rb +14 -0
  146. data/lib/knockapi/models/tenant_get_params.rb +14 -0
  147. data/lib/knockapi/models/tenant_list_params.rb +54 -0
  148. data/lib/knockapi/models/tenant_request.rb +114 -0
  149. data/lib/knockapi/models/tenant_set_params.rb +108 -0
  150. data/lib/knockapi/models/tenants/bulk_delete_params.rb +24 -0
  151. data/lib/knockapi/models/tenants/bulk_set_params.rb +24 -0
  152. data/lib/knockapi/models/user.rb +94 -0
  153. data/lib/knockapi/models/user_delete_params.rb +14 -0
  154. data/lib/knockapi/models/user_get_channel_data_params.rb +14 -0
  155. data/lib/knockapi/models/user_get_params.rb +14 -0
  156. data/lib/knockapi/models/user_get_preferences_params.rb +22 -0
  157. data/lib/knockapi/models/user_list_messages_params.rb +200 -0
  158. data/lib/knockapi/models/user_list_params.rb +56 -0
  159. data/lib/knockapi/models/user_list_preferences_params.rb +14 -0
  160. data/lib/knockapi/models/user_list_preferences_response.rb +9 -0
  161. data/lib/knockapi/models/user_list_schedules_params.rb +54 -0
  162. data/lib/knockapi/models/user_list_subscriptions_params.rb +64 -0
  163. data/lib/knockapi/models/user_merge_params.rb +22 -0
  164. data/lib/knockapi/models/user_set_channel_data_params.rb +14 -0
  165. data/lib/knockapi/models/user_set_preferences_params.rb +14 -0
  166. data/lib/knockapi/models/user_unset_channel_data_params.rb +14 -0
  167. data/lib/knockapi/models/user_update_params.rb +14 -0
  168. data/lib/knockapi/models/users/bulk_delete_params.rb +24 -0
  169. data/lib/knockapi/models/users/bulk_identify_params.rb +24 -0
  170. data/lib/knockapi/models/users/bulk_set_preferences_params.rb +32 -0
  171. data/lib/knockapi/models/users/feed_get_settings_params.rb +16 -0
  172. data/lib/knockapi/models/users/feed_get_settings_response.rb +35 -0
  173. data/lib/knockapi/models/users/feed_list_items_params.rb +122 -0
  174. data/lib/knockapi/models/users/feed_list_items_response.rb +333 -0
  175. data/lib/knockapi/models/users/guide_get_channel_params.rb +40 -0
  176. data/lib/knockapi/models/users/guide_get_channel_response.rb +79 -0
  177. data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +88 -0
  178. data/lib/knockapi/models/users/guide_mark_message_as_archived_response.rb +21 -0
  179. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +88 -0
  180. data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +21 -0
  181. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +88 -0
  182. data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +21 -0
  183. data/lib/knockapi/models/workflow_cancel_params.rb +42 -0
  184. data/lib/knockapi/models/workflow_trigger_params.rb +67 -0
  185. data/lib/knockapi/models/workflow_trigger_response.rb +24 -0
  186. data/lib/knockapi/request_options.rb +73 -0
  187. data/lib/knockapi/resources/audiences.rb +82 -0
  188. data/lib/knockapi/resources/bulk_operations.rb +34 -0
  189. data/lib/knockapi/resources/channels/bulk.rb +67 -0
  190. data/lib/knockapi/resources/channels.rb +18 -0
  191. data/lib/knockapi/resources/integrations/census.rb +44 -0
  192. data/lib/knockapi/resources/integrations/hightouch.rb +44 -0
  193. data/lib/knockapi/resources/integrations.rb +22 -0
  194. data/lib/knockapi/resources/messages/activities.rb +47 -0
  195. data/lib/knockapi/resources/messages/batch.rb +208 -0
  196. data/lib/knockapi/resources/messages.rb +365 -0
  197. data/lib/knockapi/resources/objects/bulk.rb +92 -0
  198. data/lib/knockapi/resources/objects.rb +508 -0
  199. data/lib/knockapi/resources/providers/ms_teams.rb +122 -0
  200. data/lib/knockapi/resources/providers/slack.rb +91 -0
  201. data/lib/knockapi/resources/providers.rb +22 -0
  202. data/lib/knockapi/resources/recipients/channel_data.rb +16 -0
  203. data/lib/knockapi/resources/recipients/preferences.rb +16 -0
  204. data/lib/knockapi/resources/recipients/subscriptions.rb +16 -0
  205. data/lib/knockapi/resources/recipients.rb +26 -0
  206. data/lib/knockapi/resources/schedules/bulk.rb +40 -0
  207. data/lib/knockapi/resources/schedules.rb +159 -0
  208. data/lib/knockapi/resources/shared.rb +14 -0
  209. data/lib/knockapi/resources/tenants/bulk.rb +60 -0
  210. data/lib/knockapi/resources/tenants.rb +118 -0
  211. data/lib/knockapi/resources/users/bulk.rb +89 -0
  212. data/lib/knockapi/resources/users/feeds.rb +84 -0
  213. data/lib/knockapi/resources/users/guides.rb +175 -0
  214. data/lib/knockapi/resources/users.rb +448 -0
  215. data/lib/knockapi/resources/workflows.rb +89 -0
  216. data/lib/knockapi/version.rb +5 -0
  217. data/lib/knockapi.rb +239 -0
  218. data/manifest.yaml +15 -0
  219. data/rbi/knockapi/client.rbi +84 -0
  220. data/rbi/knockapi/errors.rbi +143 -0
  221. data/rbi/knockapi/file_part.rbi +34 -0
  222. data/rbi/knockapi/internal/entries_cursor.rbi +35 -0
  223. data/rbi/knockapi/internal/items_cursor.rbi +35 -0
  224. data/rbi/knockapi/internal/ms_teams_pagination.rbi +21 -0
  225. data/rbi/knockapi/internal/slack_channels_cursor.rbi +21 -0
  226. data/rbi/knockapi/internal/transport/base_client.rbi +213 -0
  227. data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +60 -0
  228. data/rbi/knockapi/internal/type/array_of.rbi +88 -0
  229. data/rbi/knockapi/internal/type/base_model.rbi +219 -0
  230. data/rbi/knockapi/internal/type/base_page.rbi +38 -0
  231. data/rbi/knockapi/internal/type/boolean.rbi +48 -0
  232. data/rbi/knockapi/internal/type/converter.rbi +120 -0
  233. data/rbi/knockapi/internal/type/enum.rbi +64 -0
  234. data/rbi/knockapi/internal/type/file_input.rbi +50 -0
  235. data/rbi/knockapi/internal/type/hash_of.rbi +88 -0
  236. data/rbi/knockapi/internal/type/request_parameters.rbi +21 -0
  237. data/rbi/knockapi/internal/type/union.rbi +75 -0
  238. data/rbi/knockapi/internal/type/unknown.rbi +40 -0
  239. data/rbi/knockapi/internal/util.rbi +299 -0
  240. data/rbi/knockapi/internal.rbi +11 -0
  241. data/rbi/knockapi/models/activity.rbi +101 -0
  242. data/rbi/knockapi/models/audience_add_members_params.rbi +88 -0
  243. data/rbi/knockapi/models/audience_list_members_params.rbi +19 -0
  244. data/rbi/knockapi/models/audience_list_members_response.rbi +38 -0
  245. data/rbi/knockapi/models/audience_member.rbi +65 -0
  246. data/rbi/knockapi/models/audience_remove_members_params.rbi +90 -0
  247. data/rbi/knockapi/models/bulk_operation.rbi +194 -0
  248. data/rbi/knockapi/models/bulk_operation_get_params.rbi +19 -0
  249. data/rbi/knockapi/models/channels/bulk_update_message_status_params.rbi +287 -0
  250. data/rbi/knockapi/models/condition.rbi +77 -0
  251. data/rbi/knockapi/models/identify_user_request.rbi +110 -0
  252. data/rbi/knockapi/models/inline_identify_user_request.rbi +63 -0
  253. data/rbi/knockapi/models/inline_object_request.rbi +68 -0
  254. data/rbi/knockapi/models/inline_tenant_request.rbi +13 -0
  255. data/rbi/knockapi/models/integrations/census_custom_destination_params.rbi +66 -0
  256. data/rbi/knockapi/models/integrations/census_custom_destination_response.rbi +33 -0
  257. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_params.rbi +66 -0
  258. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_response.rbi +33 -0
  259. data/rbi/knockapi/models/message.rbi +322 -0
  260. data/rbi/knockapi/models/message_archive_params.rbi +19 -0
  261. data/rbi/knockapi/models/message_delivery_log.rbi +260 -0
  262. data/rbi/knockapi/models/message_event.rbi +103 -0
  263. data/rbi/knockapi/models/message_get_content_params.rbi +19 -0
  264. data/rbi/knockapi/models/message_get_content_response.rbi +738 -0
  265. data/rbi/knockapi/models/message_get_params.rbi +19 -0
  266. data/rbi/knockapi/models/message_list_activities_params.rbi +73 -0
  267. data/rbi/knockapi/models/message_list_delivery_logs_params.rbi +60 -0
  268. data/rbi/knockapi/models/message_list_events_params.rbi +60 -0
  269. data/rbi/knockapi/models/message_list_params.rbi +271 -0
  270. data/rbi/knockapi/models/message_mark_as_interacted_params.rbi +34 -0
  271. data/rbi/knockapi/models/message_mark_as_read_params.rbi +19 -0
  272. data/rbi/knockapi/models/message_mark_as_seen_params.rbi +19 -0
  273. data/rbi/knockapi/models/message_mark_as_unread_params.rbi +19 -0
  274. data/rbi/knockapi/models/message_mark_as_unseen_params.rbi +19 -0
  275. data/rbi/knockapi/models/message_unarchive_params.rbi +19 -0
  276. data/rbi/knockapi/models/messages/activity_list_params.rbi +75 -0
  277. data/rbi/knockapi/models/messages/batch_archive_params.rbi +31 -0
  278. data/rbi/knockapi/models/messages/batch_archive_response.rbi +10 -0
  279. data/rbi/knockapi/models/messages/batch_get_content_params.rbi +31 -0
  280. data/rbi/knockapi/models/messages/batch_get_content_response.rbi +748 -0
  281. data/rbi/knockapi/models/messages/batch_mark_as_interacted_params.rbi +47 -0
  282. data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +10 -0
  283. data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +31 -0
  284. data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +10 -0
  285. data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +31 -0
  286. data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +10 -0
  287. data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +31 -0
  288. data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +10 -0
  289. data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +31 -0
  290. data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +10 -0
  291. data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +31 -0
  292. data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +10 -0
  293. data/rbi/knockapi/models/object.rbi +58 -0
  294. data/rbi/knockapi/models/object_add_subscriptions_params.rbi +58 -0
  295. data/rbi/knockapi/models/object_add_subscriptions_response.rbi +11 -0
  296. data/rbi/knockapi/models/object_delete_params.rbi +19 -0
  297. data/rbi/knockapi/models/object_delete_subscriptions_params.rbi +39 -0
  298. data/rbi/knockapi/models/object_delete_subscriptions_response.rbi +11 -0
  299. data/rbi/knockapi/models/object_get_channel_data_params.rbi +19 -0
  300. data/rbi/knockapi/models/object_get_params.rbi +19 -0
  301. data/rbi/knockapi/models/object_get_preferences_params.rbi +19 -0
  302. data/rbi/knockapi/models/object_list_messages_params.rbi +281 -0
  303. data/rbi/knockapi/models/object_list_params.rbi +85 -0
  304. data/rbi/knockapi/models/object_list_preferences_params.rbi +19 -0
  305. data/rbi/knockapi/models/object_list_preferences_response.rbi +11 -0
  306. data/rbi/knockapi/models/object_list_schedules_params.rbi +84 -0
  307. data/rbi/knockapi/models/object_list_subscriptions_params.rbi +175 -0
  308. data/rbi/knockapi/models/object_set_channel_data_params.rbi +19 -0
  309. data/rbi/knockapi/models/object_set_params.rbi +85 -0
  310. data/rbi/knockapi/models/object_set_preferences_params.rbi +19 -0
  311. data/rbi/knockapi/models/object_unset_channel_data_params.rbi +19 -0
  312. data/rbi/knockapi/models/objects/bulk_add_subscriptions_params.rbi +86 -0
  313. data/rbi/knockapi/models/objects/bulk_delete_params.rbi +31 -0
  314. data/rbi/knockapi/models/objects/bulk_set_params.rbi +36 -0
  315. data/rbi/knockapi/models/page_info.rbi +49 -0
  316. data/rbi/knockapi/models/providers/ms_team_check_auth_params.rbi +31 -0
  317. data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +56 -0
  318. data/rbi/knockapi/models/providers/ms_team_list_channels_params.rbi +91 -0
  319. data/rbi/knockapi/models/providers/ms_team_list_channels_response.rbi +113 -0
  320. data/rbi/knockapi/models/providers/ms_team_list_teams_params.rbi +107 -0
  321. data/rbi/knockapi/models/providers/ms_team_list_teams_response.rbi +35 -0
  322. data/rbi/knockapi/models/providers/ms_team_revoke_access_params.rbi +31 -0
  323. data/rbi/knockapi/models/providers/ms_team_revoke_access_response.rbi +25 -0
  324. data/rbi/knockapi/models/providers/slack_check_auth_params.rbi +31 -0
  325. data/rbi/knockapi/models/providers/slack_check_auth_response.rbi +56 -0
  326. data/rbi/knockapi/models/providers/slack_list_channels_params.rbi +130 -0
  327. data/rbi/knockapi/models/providers/slack_list_channels_response.rbi +58 -0
  328. data/rbi/knockapi/models/providers/slack_revoke_access_params.rbi +31 -0
  329. data/rbi/knockapi/models/providers/slack_revoke_access_response.rbi +25 -0
  330. data/rbi/knockapi/models/recipient.rbi +13 -0
  331. data/rbi/knockapi/models/recipient_reference.rbi +41 -0
  332. data/rbi/knockapi/models/recipient_request.rbi +18 -0
  333. data/rbi/knockapi/models/recipients/channel_data.rbi +125 -0
  334. data/rbi/knockapi/models/recipients/channel_data_request.rbi +70 -0
  335. data/rbi/knockapi/models/recipients/discord_channel_data.rbi +143 -0
  336. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +13 -0
  337. data/rbi/knockapi/models/recipients/inline_preference_set_request.rbi +13 -0
  338. data/rbi/knockapi/models/recipients/ms_teams_channel_data.rbi +186 -0
  339. data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +22 -0
  340. data/rbi/knockapi/models/recipients/preference_set.rbi +243 -0
  341. data/rbi/knockapi/models/recipients/preference_set_channel_type_setting.rbi +26 -0
  342. data/rbi/knockapi/models/recipients/preference_set_channel_types.rbi +218 -0
  343. data/rbi/knockapi/models/recipients/preference_set_request.rbi +234 -0
  344. data/rbi/knockapi/models/recipients/push_channel_data.rbi +22 -0
  345. data/rbi/knockapi/models/recipients/slack_channel_data.rbi +154 -0
  346. data/rbi/knockapi/models/recipients/subscription.rbi +77 -0
  347. data/rbi/knockapi/models/schedule.rbi +127 -0
  348. data/rbi/knockapi/models/schedule_create_params.rbi +98 -0
  349. data/rbi/knockapi/models/schedule_create_response.rbi +8 -0
  350. data/rbi/knockapi/models/schedule_delete_params.rbi +29 -0
  351. data/rbi/knockapi/models/schedule_delete_response.rbi +8 -0
  352. data/rbi/knockapi/models/schedule_list_params.rbi +92 -0
  353. data/rbi/knockapi/models/schedule_repeat_rule.rbi +118 -0
  354. data/rbi/knockapi/models/schedule_update_params.rbi +92 -0
  355. data/rbi/knockapi/models/schedule_update_response.rbi +8 -0
  356. data/rbi/knockapi/models/schedules/bulk_create_params.rbi +172 -0
  357. data/rbi/knockapi/models/tenant.rbi +162 -0
  358. data/rbi/knockapi/models/tenant_delete_params.rbi +19 -0
  359. data/rbi/knockapi/models/tenant_get_params.rbi +19 -0
  360. data/rbi/knockapi/models/tenant_list_params.rbi +84 -0
  361. data/rbi/knockapi/models/tenant_request.rbi +168 -0
  362. data/rbi/knockapi/models/tenant_set_params.rbi +166 -0
  363. data/rbi/knockapi/models/tenants/bulk_delete_params.rbi +31 -0
  364. data/rbi/knockapi/models/tenants/bulk_set_params.rbi +36 -0
  365. data/rbi/knockapi/models/user.rbi +106 -0
  366. data/rbi/knockapi/models/user_delete_params.rbi +19 -0
  367. data/rbi/knockapi/models/user_get_channel_data_params.rbi +19 -0
  368. data/rbi/knockapi/models/user_get_params.rbi +19 -0
  369. data/rbi/knockapi/models/user_get_preferences_params.rbi +29 -0
  370. data/rbi/knockapi/models/user_list_messages_params.rbi +277 -0
  371. data/rbi/knockapi/models/user_list_params.rbi +85 -0
  372. data/rbi/knockapi/models/user_list_preferences_params.rbi +19 -0
  373. data/rbi/knockapi/models/user_list_preferences_response.rbi +11 -0
  374. data/rbi/knockapi/models/user_list_schedules_params.rbi +84 -0
  375. data/rbi/knockapi/models/user_list_subscriptions_params.rbi +96 -0
  376. data/rbi/knockapi/models/user_merge_params.rbi +29 -0
  377. data/rbi/knockapi/models/user_set_channel_data_params.rbi +19 -0
  378. data/rbi/knockapi/models/user_set_preferences_params.rbi +19 -0
  379. data/rbi/knockapi/models/user_unset_channel_data_params.rbi +19 -0
  380. data/rbi/knockapi/models/user_update_params.rbi +19 -0
  381. data/rbi/knockapi/models/users/bulk_delete_params.rbi +31 -0
  382. data/rbi/knockapi/models/users/bulk_identify_params.rbi +36 -0
  383. data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +55 -0
  384. data/rbi/knockapi/models/users/feed_get_settings_params.rbi +21 -0
  385. data/rbi/knockapi/models/users/feed_get_settings_response.rbi +50 -0
  386. data/rbi/knockapi/models/users/feed_list_items_params.rbi +173 -0
  387. data/rbi/knockapi/models/users/feed_list_items_response.rbi +443 -0
  388. data/rbi/knockapi/models/users/guide_get_channel_params.rbi +63 -0
  389. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +124 -0
  390. data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +115 -0
  391. data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +22 -0
  392. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +115 -0
  393. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +22 -0
  394. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +115 -0
  395. data/rbi/knockapi/models/users/guide_mark_message_as_seen_response.rbi +22 -0
  396. data/rbi/knockapi/models/workflow_cancel_params.rbi +57 -0
  397. data/rbi/knockapi/models/workflow_trigger_params.rbi +109 -0
  398. data/rbi/knockapi/models/workflow_trigger_response.rbi +22 -0
  399. data/rbi/knockapi/request_options.rbi +48 -0
  400. data/rbi/knockapi/resources/audiences.rbi +53 -0
  401. data/rbi/knockapi/resources/bulk_operations.rbi +18 -0
  402. data/rbi/knockapi/resources/channels/bulk.rbi +64 -0
  403. data/rbi/knockapi/resources/channels.rbi +14 -0
  404. data/rbi/knockapi/resources/integrations/census.rbi +35 -0
  405. data/rbi/knockapi/resources/integrations/hightouch.rbi +35 -0
  406. data/rbi/knockapi/resources/integrations.rbi +17 -0
  407. data/rbi/knockapi/resources/messages/activities.rbi +38 -0
  408. data/rbi/knockapi/resources/messages/batch.rbi +113 -0
  409. data/rbi/knockapi/resources/messages.rbi +231 -0
  410. data/rbi/knockapi/resources/objects/bulk.rbi +61 -0
  411. data/rbi/knockapi/resources/objects.rbi +434 -0
  412. data/rbi/knockapi/resources/providers/ms_teams.rbi +79 -0
  413. data/rbi/knockapi/resources/providers/slack.rbi +55 -0
  414. data/rbi/knockapi/resources/providers.rbi +17 -0
  415. data/rbi/knockapi/resources/recipients/channel_data.rbi +13 -0
  416. data/rbi/knockapi/resources/recipients/preferences.rbi +13 -0
  417. data/rbi/knockapi/resources/recipients/subscriptions.rbi +13 -0
  418. data/rbi/knockapi/resources/recipients.rbi +20 -0
  419. data/rbi/knockapi/resources/schedules/bulk.rbi +28 -0
  420. data/rbi/knockapi/resources/schedules.rbi +135 -0
  421. data/rbi/knockapi/resources/shared.rbi +11 -0
  422. data/rbi/knockapi/resources/tenants/bulk.rbi +36 -0
  423. data/rbi/knockapi/resources/tenants.rbi +80 -0
  424. data/rbi/knockapi/resources/users/bulk.rbi +57 -0
  425. data/rbi/knockapi/resources/users/feeds.rbi +72 -0
  426. data/rbi/knockapi/resources/users/guides.rbi +170 -0
  427. data/rbi/knockapi/resources/users.rbi +357 -0
  428. data/rbi/knockapi/resources/workflows.rbi +92 -0
  429. data/rbi/knockapi/version.rbi +5 -0
  430. data/sig/knockapi/client.rbs +50 -0
  431. data/sig/knockapi/errors.rbs +101 -0
  432. data/sig/knockapi/file_part.rbs +21 -0
  433. data/sig/knockapi/internal/entries_cursor.rbs +24 -0
  434. data/sig/knockapi/internal/items_cursor.rbs +24 -0
  435. data/sig/knockapi/internal/ms_teams_pagination.rbs +13 -0
  436. data/sig/knockapi/internal/slack_channels_cursor.rbs +13 -0
  437. data/sig/knockapi/internal/transport/base_client.rbs +116 -0
  438. data/sig/knockapi/internal/transport/pooled_net_requester.rbs +41 -0
  439. data/sig/knockapi/internal/type/array_of.rbs +45 -0
  440. data/sig/knockapi/internal/type/base_model.rbs +94 -0
  441. data/sig/knockapi/internal/type/base_page.rbs +24 -0
  442. data/sig/knockapi/internal/type/boolean.rbs +23 -0
  443. data/sig/knockapi/internal/type/converter.rbs +54 -0
  444. data/sig/knockapi/internal/type/enum.rbs +29 -0
  445. data/sig/knockapi/internal/type/file_input.rbs +23 -0
  446. data/sig/knockapi/internal/type/hash_of.rbs +45 -0
  447. data/sig/knockapi/internal/type/request_parameters.rbs +15 -0
  448. data/sig/knockapi/internal/type/union.rbs +49 -0
  449. data/sig/knockapi/internal/type/unknown.rbs +23 -0
  450. data/sig/knockapi/internal/util.rbs +158 -0
  451. data/sig/knockapi/internal.rbs +5 -0
  452. data/sig/knockapi/models/activity.rbs +54 -0
  453. data/sig/knockapi/models/audience_add_members_params.rbs +52 -0
  454. data/sig/knockapi/models/audience_list_members_params.rbs +15 -0
  455. data/sig/knockapi/models/audience_list_members_response.rbs +22 -0
  456. data/sig/knockapi/models/audience_member.rbs +34 -0
  457. data/sig/knockapi/models/audience_remove_members_params.rbs +54 -0
  458. data/sig/knockapi/models/bulk_operation.rbs +107 -0
  459. data/sig/knockapi/models/bulk_operation_get_params.rbs +15 -0
  460. data/sig/knockapi/models/channels/bulk_update_message_status_params.rbs +176 -0
  461. data/sig/knockapi/models/condition.rbs +71 -0
  462. data/sig/knockapi/models/identify_user_request.rbs +50 -0
  463. data/sig/knockapi/models/inline_identify_user_request.rbs +30 -0
  464. data/sig/knockapi/models/inline_object_request.rbs +34 -0
  465. data/sig/knockapi/models/inline_tenant_request.rbs +11 -0
  466. data/sig/knockapi/models/integrations/census_custom_destination_params.rbs +39 -0
  467. data/sig/knockapi/models/integrations/census_custom_destination_response.rbs +22 -0
  468. data/sig/knockapi/models/integrations/hightouch_embedded_destination_params.rbs +39 -0
  469. data/sig/knockapi/models/integrations/hightouch_embedded_destination_response.rbs +22 -0
  470. data/sig/knockapi/models/message.rbs +193 -0
  471. data/sig/knockapi/models/message_archive_params.rbs +15 -0
  472. data/sig/knockapi/models/message_delivery_log.rbs +152 -0
  473. data/sig/knockapi/models/message_event.rbs +77 -0
  474. data/sig/knockapi/models/message_get_content_params.rbs +15 -0
  475. data/sig/knockapi/models/message_get_content_response.rbs +338 -0
  476. data/sig/knockapi/models/message_get_params.rbs +15 -0
  477. data/sig/knockapi/models/message_list_activities_params.rbs +43 -0
  478. data/sig/knockapi/models/message_list_delivery_logs_params.rbs +33 -0
  479. data/sig/knockapi/models/message_list_events_params.rbs +33 -0
  480. data/sig/knockapi/models/message_list_params.rbs +176 -0
  481. data/sig/knockapi/models/message_mark_as_interacted_params.rbs +23 -0
  482. data/sig/knockapi/models/message_mark_as_read_params.rbs +15 -0
  483. data/sig/knockapi/models/message_mark_as_seen_params.rbs +15 -0
  484. data/sig/knockapi/models/message_mark_as_unread_params.rbs +15 -0
  485. data/sig/knockapi/models/message_mark_as_unseen_params.rbs +15 -0
  486. data/sig/knockapi/models/message_unarchive_params.rbs +15 -0
  487. data/sig/knockapi/models/messages/activity_list_params.rbs +45 -0
  488. data/sig/knockapi/models/messages/batch_archive_params.rbs +23 -0
  489. data/sig/knockapi/models/messages/batch_archive_response.rbs +9 -0
  490. data/sig/knockapi/models/messages/batch_get_content_params.rbs +23 -0
  491. data/sig/knockapi/models/messages/batch_get_content_response.rbs +349 -0
  492. data/sig/knockapi/models/messages/batch_mark_as_interacted_params.rbs +26 -0
  493. data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +10 -0
  494. data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +23 -0
  495. data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +9 -0
  496. data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +23 -0
  497. data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +9 -0
  498. data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +23 -0
  499. data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +9 -0
  500. data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +23 -0
  501. data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +9 -0
  502. data/sig/knockapi/models/messages/batch_unarchive_params.rbs +23 -0
  503. data/sig/knockapi/models/messages/batch_unarchive_response.rbs +9 -0
  504. data/sig/knockapi/models/object.rbs +34 -0
  505. data/sig/knockapi/models/object_add_subscriptions_params.rbs +27 -0
  506. data/sig/knockapi/models/object_add_subscriptions_response.rbs +8 -0
  507. data/sig/knockapi/models/object_delete_params.rbs +15 -0
  508. data/sig/knockapi/models/object_delete_subscriptions_params.rbs +21 -0
  509. data/sig/knockapi/models/object_delete_subscriptions_response.rbs +8 -0
  510. data/sig/knockapi/models/object_get_channel_data_params.rbs +15 -0
  511. data/sig/knockapi/models/object_get_params.rbs +14 -0
  512. data/sig/knockapi/models/object_get_preferences_params.rbs +15 -0
  513. data/sig/knockapi/models/object_list_messages_params.rbs +176 -0
  514. data/sig/knockapi/models/object_list_params.rbs +55 -0
  515. data/sig/knockapi/models/object_list_preferences_params.rbs +15 -0
  516. data/sig/knockapi/models/object_list_preferences_response.rbs +8 -0
  517. data/sig/knockapi/models/object_list_schedules_params.rbs +49 -0
  518. data/sig/knockapi/models/object_list_subscriptions_params.rbs +106 -0
  519. data/sig/knockapi/models/object_set_channel_data_params.rbs +15 -0
  520. data/sig/knockapi/models/object_set_params.rbs +43 -0
  521. data/sig/knockapi/models/object_set_preferences_params.rbs +15 -0
  522. data/sig/knockapi/models/object_unset_channel_data_params.rbs +15 -0
  523. data/sig/knockapi/models/objects/bulk_add_subscriptions_params.rbs +44 -0
  524. data/sig/knockapi/models/objects/bulk_delete_params.rbs +23 -0
  525. data/sig/knockapi/models/objects/bulk_set_params.rbs +23 -0
  526. data/sig/knockapi/models/page_info.rbs +25 -0
  527. data/sig/knockapi/models/providers/ms_team_check_auth_params.rbs +23 -0
  528. data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +32 -0
  529. data/sig/knockapi/models/providers/ms_team_list_channels_params.rbs +53 -0
  530. data/sig/knockapi/models/providers/ms_team_list_channels_response.rbs +61 -0
  531. data/sig/knockapi/models/providers/ms_team_list_teams_params.rbs +63 -0
  532. data/sig/knockapi/models/providers/ms_team_list_teams_response.rbs +24 -0
  533. data/sig/knockapi/models/providers/ms_team_revoke_access_params.rbs +23 -0
  534. data/sig/knockapi/models/providers/ms_team_revoke_access_response.rbs +17 -0
  535. data/sig/knockapi/models/providers/slack_check_auth_params.rbs +23 -0
  536. data/sig/knockapi/models/providers/slack_check_auth_response.rbs +32 -0
  537. data/sig/knockapi/models/providers/slack_list_channels_params.rbs +74 -0
  538. data/sig/knockapi/models/providers/slack_list_channels_response.rbs +36 -0
  539. data/sig/knockapi/models/providers/slack_revoke_access_params.rbs +23 -0
  540. data/sig/knockapi/models/providers/slack_revoke_access_response.rbs +17 -0
  541. data/sig/knockapi/models/recipient.rbs +11 -0
  542. data/sig/knockapi/models/recipient_reference.rbs +28 -0
  543. data/sig/knockapi/models/recipient_request.rbs +14 -0
  544. data/sig/knockapi/models/recipients/channel_data.rbs +74 -0
  545. data/sig/knockapi/models/recipients/channel_data_request.rbs +31 -0
  546. data/sig/knockapi/models/recipients/discord_channel_data.rbs +65 -0
  547. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +10 -0
  548. data/sig/knockapi/models/recipients/inline_preference_set_request.rbs +10 -0
  549. data/sig/knockapi/models/recipients/ms_teams_channel_data.rbs +86 -0
  550. data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +15 -0
  551. data/sig/knockapi/models/recipients/preference_set.rbs +90 -0
  552. data/sig/knockapi/models/recipients/preference_set_channel_type_setting.rbs +18 -0
  553. data/sig/knockapi/models/recipients/preference_set_channel_types.rbs +118 -0
  554. data/sig/knockapi/models/recipients/preference_set_request.rbs +86 -0
  555. data/sig/knockapi/models/recipients/push_channel_data.rbs +15 -0
  556. data/sig/knockapi/models/recipients/slack_channel_data.rbs +73 -0
  557. data/sig/knockapi/models/recipients/subscription.rbs +40 -0
  558. data/sig/knockapi/models/schedule.rbs +64 -0
  559. data/sig/knockapi/models/schedule_create_params.rbs +47 -0
  560. data/sig/knockapi/models/schedule_create_response.rbs +7 -0
  561. data/sig/knockapi/models/schedule_delete_params.rbs +21 -0
  562. data/sig/knockapi/models/schedule_delete_response.rbs +7 -0
  563. data/sig/knockapi/models/schedule_list_params.rbs +53 -0
  564. data/sig/knockapi/models/schedule_repeat_rule.rbs +73 -0
  565. data/sig/knockapi/models/schedule_update_params.rbs +51 -0
  566. data/sig/knockapi/models/schedule_update_response.rbs +7 -0
  567. data/sig/knockapi/models/schedules/bulk_create_params.rbs +76 -0
  568. data/sig/knockapi/models/tenant.rbs +76 -0
  569. data/sig/knockapi/models/tenant_delete_params.rbs +15 -0
  570. data/sig/knockapi/models/tenant_get_params.rbs +14 -0
  571. data/sig/knockapi/models/tenant_list_params.rbs +49 -0
  572. data/sig/knockapi/models/tenant_request.rbs +84 -0
  573. data/sig/knockapi/models/tenant_set_params.rbs +85 -0
  574. data/sig/knockapi/models/tenants/bulk_delete_params.rbs +23 -0
  575. data/sig/knockapi/models/tenants/bulk_set_params.rbs +23 -0
  576. data/sig/knockapi/models/user.rbs +50 -0
  577. data/sig/knockapi/models/user_delete_params.rbs +15 -0
  578. data/sig/knockapi/models/user_get_channel_data_params.rbs +15 -0
  579. data/sig/knockapi/models/user_get_params.rbs +14 -0
  580. data/sig/knockapi/models/user_get_preferences_params.rbs +22 -0
  581. data/sig/knockapi/models/user_list_messages_params.rbs +176 -0
  582. data/sig/knockapi/models/user_list_params.rbs +55 -0
  583. data/sig/knockapi/models/user_list_preferences_params.rbs +15 -0
  584. data/sig/knockapi/models/user_list_preferences_response.rbs +8 -0
  585. data/sig/knockapi/models/user_list_schedules_params.rbs +49 -0
  586. data/sig/knockapi/models/user_list_subscriptions_params.rbs +61 -0
  587. data/sig/knockapi/models/user_merge_params.rbs +20 -0
  588. data/sig/knockapi/models/user_set_channel_data_params.rbs +15 -0
  589. data/sig/knockapi/models/user_set_preferences_params.rbs +15 -0
  590. data/sig/knockapi/models/user_unset_channel_data_params.rbs +15 -0
  591. data/sig/knockapi/models/user_update_params.rbs +15 -0
  592. data/sig/knockapi/models/users/bulk_delete_params.rbs +23 -0
  593. data/sig/knockapi/models/users/bulk_identify_params.rbs +23 -0
  594. data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +29 -0
  595. data/sig/knockapi/models/users/feed_get_settings_params.rbs +17 -0
  596. data/sig/knockapi/models/users/feed_get_settings_response.rbs +28 -0
  597. data/sig/knockapi/models/users/feed_list_items_params.rbs +111 -0
  598. data/sig/knockapi/models/users/feed_list_items_response.rbs +214 -0
  599. data/sig/knockapi/models/users/guide_get_channel_params.rbs +35 -0
  600. data/sig/knockapi/models/users/guide_get_channel_response.rbs +71 -0
  601. data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +65 -0
  602. data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +15 -0
  603. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +65 -0
  604. data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +15 -0
  605. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +65 -0
  606. data/sig/knockapi/models/users/guide_mark_message_as_seen_response.rbs +15 -0
  607. data/sig/knockapi/models/workflow_cancel_params.rbs +27 -0
  608. data/sig/knockapi/models/workflow_trigger_params.rbs +39 -0
  609. data/sig/knockapi/models/workflow_trigger_response.rbs +13 -0
  610. data/sig/knockapi/request_options.rbs +34 -0
  611. data/sig/knockapi/resources/audiences.rbs +24 -0
  612. data/sig/knockapi/resources/bulk_operations.rbs +12 -0
  613. data/sig/knockapi/resources/channels/bulk.rbs +25 -0
  614. data/sig/knockapi/resources/channels.rbs +9 -0
  615. data/sig/knockapi/resources/integrations/census.rbs +17 -0
  616. data/sig/knockapi/resources/integrations/hightouch.rbs +17 -0
  617. data/sig/knockapi/resources/integrations.rbs +11 -0
  618. data/sig/knockapi/resources/messages/activities.rbs +18 -0
  619. data/sig/knockapi/resources/messages/batch.rbs +50 -0
  620. data/sig/knockapi/resources/messages.rbs +100 -0
  621. data/sig/knockapi/resources/objects/bulk.rbs +27 -0
  622. data/sig/knockapi/resources/objects.rbs +144 -0
  623. data/sig/knockapi/resources/providers/ms_teams.rbs +36 -0
  624. data/sig/knockapi/resources/providers/slack.rbs +28 -0
  625. data/sig/knockapi/resources/providers.rbs +11 -0
  626. data/sig/knockapi/resources/recipients/channel_data.rbs +9 -0
  627. data/sig/knockapi/resources/recipients/preferences.rbs +9 -0
  628. data/sig/knockapi/resources/recipients/subscriptions.rbs +9 -0
  629. data/sig/knockapi/resources/recipients.rbs +13 -0
  630. data/sig/knockapi/resources/schedules/bulk.rbs +14 -0
  631. data/sig/knockapi/resources/schedules.rbs +46 -0
  632. data/sig/knockapi/resources/shared.rbs +7 -0
  633. data/sig/knockapi/resources/tenants/bulk.rbs +19 -0
  634. data/sig/knockapi/resources/tenants.rbs +36 -0
  635. data/sig/knockapi/resources/users/bulk.rbs +25 -0
  636. data/sig/knockapi/resources/users/feeds.rbs +31 -0
  637. data/sig/knockapi/resources/users/guides.rbs +63 -0
  638. data/sig/knockapi/resources/users.rbs +130 -0
  639. data/sig/knockapi/resources/workflows.rbs +24 -0
  640. data/sig/knockapi/version.rbs +3 -0
  641. metadata +657 -77
  642. data/.github/workflows/publish.yml +0 -17
  643. data/.github/workflows/ruby.yml +0 -47
  644. data/.gitignore +0 -49
  645. data/.rubocop.yml +0 -8
  646. data/.ruby-version +0 -1
  647. data/.tool-versions +0 -1
  648. data/CONTRIBUTING.md +0 -31
  649. data/Gemfile +0 -9
  650. data/Gemfile.lock +0 -63
  651. data/LICENSE +0 -21
  652. data/bin/console +0 -8
  653. data/bin/publish +0 -5
  654. data/knockapi.gemspec +0 -30
  655. data/lib/knock/bulk_operations.rb +0 -27
  656. data/lib/knock/client.rb +0 -149
  657. data/lib/knock/configuration.rb +0 -18
  658. data/lib/knock/errors.rb +0 -57
  659. data/lib/knock/messages.rb +0 -93
  660. data/lib/knock/objects.rb +0 -442
  661. data/lib/knock/preferences.rb +0 -114
  662. data/lib/knock/tenants.rb +0 -72
  663. data/lib/knock/users.rb +0 -420
  664. data/lib/knock/version.rb +0 -5
  665. data/lib/knock/workflows.rb +0 -152
  666. data/lib/knock.rb +0 -71
  667. data/spec/configuration_spec.rb +0 -63
  668. data/spec/tenants_spec.rb +0 -66
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Objects
6
+ class Bulk
7
+ # Bulk deletes objects from the specified collection.
8
+ #
9
+ # @overload delete(collection, object_ids:, request_options: {})
10
+ #
11
+ # @param collection [String] The collection this object belongs to.
12
+ #
13
+ # @param object_ids [Array<String>] List of object IDs to delete.
14
+ #
15
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Knockapi::Models::BulkOperation]
18
+ #
19
+ # @see Knockapi::Models::Objects::BulkDeleteParams
20
+ def delete(collection, params)
21
+ parsed, options = Knockapi::Models::Objects::BulkDeleteParams.dump_request(params)
22
+ @client.request(
23
+ method: :post,
24
+ path: ["v1/objects/%1$s/bulk/delete", collection],
25
+ body: parsed,
26
+ model: Knockapi::Models::BulkOperation,
27
+ options: options
28
+ )
29
+ end
30
+
31
+ # Add subscriptions for all objects in a single collection. If a subscription for
32
+ # an object in the collection already exists, it will be updated. This endpoint
33
+ # also handles
34
+ # [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients)
35
+ # for the `recipient` field.
36
+ #
37
+ # @overload add_subscriptions(collection, subscriptions:, request_options: {})
38
+ #
39
+ # @param collection [String] The collection this object belongs to.
40
+ #
41
+ # @param subscriptions [Array<Knockapi::Models::Objects::BulkAddSubscriptionsParams::Subscription>] A list of subscriptions.
42
+ #
43
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
44
+ #
45
+ # @return [Knockapi::Models::BulkOperation]
46
+ #
47
+ # @see Knockapi::Models::Objects::BulkAddSubscriptionsParams
48
+ def add_subscriptions(collection, params)
49
+ parsed, options = Knockapi::Models::Objects::BulkAddSubscriptionsParams.dump_request(params)
50
+ @client.request(
51
+ method: :post,
52
+ path: ["v1/objects/%1$s/bulk/subscriptions/add", collection],
53
+ body: parsed,
54
+ model: Knockapi::Models::BulkOperation,
55
+ options: options
56
+ )
57
+ end
58
+
59
+ # Bulk sets up to 1,000 objects at a time in the specified collection.
60
+ #
61
+ # @overload set(collection, objects:, request_options: {})
62
+ #
63
+ # @param collection [String] The collection this object belongs to.
64
+ #
65
+ # @param objects [Array<Knockapi::Models::InlineObjectRequest>] A list of objects.
66
+ #
67
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
68
+ #
69
+ # @return [Knockapi::Models::BulkOperation]
70
+ #
71
+ # @see Knockapi::Models::Objects::BulkSetParams
72
+ def set(collection, params)
73
+ parsed, options = Knockapi::Models::Objects::BulkSetParams.dump_request(params)
74
+ @client.request(
75
+ method: :post,
76
+ path: ["v1/objects/%1$s/bulk/set", collection],
77
+ body: parsed,
78
+ model: Knockapi::Models::BulkOperation,
79
+ options: options
80
+ )
81
+ end
82
+
83
+ # @api private
84
+ #
85
+ # @param client [Knockapi::Client]
86
+ def initialize(client:)
87
+ @client = client
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,508 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Objects
6
+ # @return [Knockapi::Resources::Objects::Bulk]
7
+ attr_reader :bulk
8
+
9
+ # Returns a paginated list of objects from the specified collection. Optionally
10
+ # includes preference data for the objects.
11
+ #
12
+ # @overload list(collection, after: nil, before: nil, include: nil, page_size: nil, request_options: {})
13
+ #
14
+ # @param collection [String] The collection this object belongs to.
15
+ #
16
+ # @param after [String] The cursor to fetch entries after.
17
+ #
18
+ # @param before [String] The cursor to fetch entries before.
19
+ #
20
+ # @param include [Array<Symbol, Knockapi::Models::ObjectListParams::Include>] Includes preferences of the objects in the response.
21
+ #
22
+ # @param page_size [Integer] The number of items per page.
23
+ #
24
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Models::Object>]
27
+ #
28
+ # @see Knockapi::Models::ObjectListParams
29
+ def list(collection, params = {})
30
+ parsed, options = Knockapi::Models::ObjectListParams.dump_request(params)
31
+ @client.request(
32
+ method: :get,
33
+ path: ["v1/objects/%1$s", collection],
34
+ query: parsed,
35
+ page: Knockapi::Internal::EntriesCursor,
36
+ model: Knockapi::Models::Object,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Permanently removes an object from the specified collection. This operation
42
+ # cannot be undone.
43
+ #
44
+ # @overload delete(collection, id, request_options: {})
45
+ #
46
+ # @param collection [String] The collection this object belongs to.
47
+ #
48
+ # @param id [String] Unique identifier for the object.
49
+ #
50
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
51
+ #
52
+ # @return [String]
53
+ #
54
+ # @see Knockapi::Models::ObjectDeleteParams
55
+ def delete(collection, id, params = {})
56
+ @client.request(
57
+ method: :delete,
58
+ path: ["v1/objects/%1$s/%2$s", collection, id],
59
+ model: String,
60
+ options: params[:request_options]
61
+ )
62
+ end
63
+
64
+ # Some parameter documentations has been truncated, see
65
+ # {Knockapi::Models::ObjectAddSubscriptionsParams} for more details.
66
+ #
67
+ # Add subscriptions for an object. If a subscription already exists, it will be
68
+ # updated. This endpoint also handles
69
+ # [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients)
70
+ # for the `recipient`.
71
+ #
72
+ # @overload add_subscriptions(collection, object_id_, recipients:, properties: nil, request_options: {})
73
+ #
74
+ # @param collection [String] The collection this object belongs to.
75
+ #
76
+ # @param object_id_ [String] Unique identifier for the object.
77
+ #
78
+ # @param recipients [Array<String, Knockapi::Models::InlineIdentifyUserRequest, Knockapi::Models::InlineObjectRequest>] The recipients of the subscription. You can subscribe up to 100 recipients to an
79
+ # ...
80
+ #
81
+ # @param properties [Hash{Symbol=>Object}, nil] The custom properties associated with the subscription relationship.
82
+ #
83
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
84
+ #
85
+ # @return [Array<Knockapi::Models::Recipients::Subscription>]
86
+ #
87
+ # @see Knockapi::Models::ObjectAddSubscriptionsParams
88
+ def add_subscriptions(collection, object_id_, params)
89
+ parsed, options = Knockapi::Models::ObjectAddSubscriptionsParams.dump_request(params)
90
+ @client.request(
91
+ method: :post,
92
+ path: ["v1/objects/%1$s/%2$s/subscriptions", collection, object_id_],
93
+ body: parsed,
94
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Recipients::Subscription],
95
+ options: options
96
+ )
97
+ end
98
+
99
+ # Some parameter documentations has been truncated, see
100
+ # {Knockapi::Models::ObjectDeleteSubscriptionsParams} for more details.
101
+ #
102
+ # Delete subscriptions for the specified recipients from an object. Returns the
103
+ # list of deleted subscriptions.
104
+ #
105
+ # @overload delete_subscriptions(collection, object_id_, recipients:, request_options: {})
106
+ #
107
+ # @param collection [String] The collection this object belongs to.
108
+ #
109
+ # @param object_id_ [String] Unique identifier for the object.
110
+ #
111
+ # @param recipients [Array<String, Knockapi::Models::RecipientReference::ObjectReference>] The recipients of the subscription. You can subscribe up to 100 recipients to an
112
+ # ...
113
+ #
114
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
115
+ #
116
+ # @return [Array<Knockapi::Models::Recipients::Subscription>]
117
+ #
118
+ # @see Knockapi::Models::ObjectDeleteSubscriptionsParams
119
+ def delete_subscriptions(collection, object_id_, params)
120
+ parsed, options = Knockapi::Models::ObjectDeleteSubscriptionsParams.dump_request(params)
121
+ @client.request(
122
+ method: :delete,
123
+ path: ["v1/objects/%1$s/%2$s/subscriptions", collection, object_id_],
124
+ body: parsed,
125
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Recipients::Subscription],
126
+ options: options
127
+ )
128
+ end
129
+
130
+ # Retrieves a specific object by its ID from the specified collection. Returns the
131
+ # object with all its properties.
132
+ #
133
+ # @overload get(collection, id, request_options: {})
134
+ #
135
+ # @param collection [String] The collection this object belongs to.
136
+ #
137
+ # @param id [String] Unique identifier for the object.
138
+ #
139
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
140
+ #
141
+ # @return [Knockapi::Models::Object]
142
+ #
143
+ # @see Knockapi::Models::ObjectGetParams
144
+ def get(collection, id, params = {})
145
+ @client.request(
146
+ method: :get,
147
+ path: ["v1/objects/%1$s/%2$s", collection, id],
148
+ model: Knockapi::Models::Object,
149
+ options: params[:request_options]
150
+ )
151
+ end
152
+
153
+ # Returns the channel data for the specified object and channel.
154
+ #
155
+ # @overload get_channel_data(collection, object_id_, channel_id, request_options: {})
156
+ #
157
+ # @param collection [String] The collection this object belongs to.
158
+ #
159
+ # @param object_id_ [String] Unique identifier for the object.
160
+ #
161
+ # @param channel_id [String] The unique identifier for the channel.
162
+ #
163
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
164
+ #
165
+ # @return [Knockapi::Models::Recipients::RecipientsChannelData]
166
+ #
167
+ # @see Knockapi::Models::ObjectGetChannelDataParams
168
+ def get_channel_data(collection, object_id_, channel_id, params = {})
169
+ @client.request(
170
+ method: :get,
171
+ path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
172
+ model: Knockapi::Models::Recipients::RecipientsChannelData,
173
+ options: params[:request_options]
174
+ )
175
+ end
176
+
177
+ # Returns the preference set for the specified object and preference set `id`.
178
+ #
179
+ # @overload get_preferences(collection, object_id_, id, request_options: {})
180
+ #
181
+ # @param collection [String] The collection this object belongs to.
182
+ #
183
+ # @param object_id_ [String] Unique identifier for the object.
184
+ #
185
+ # @param id [String] Unique identifier for the preference set.
186
+ #
187
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
188
+ #
189
+ # @return [Knockapi::Models::Recipients::PreferenceSet]
190
+ #
191
+ # @see Knockapi::Models::ObjectGetPreferencesParams
192
+ def get_preferences(collection, object_id_, id, params = {})
193
+ @client.request(
194
+ method: :get,
195
+ path: ["v1/objects/%1$s/%2$s/preferences/%3$s", collection, object_id_, id],
196
+ model: Knockapi::Models::Recipients::PreferenceSet,
197
+ options: params[:request_options]
198
+ )
199
+ end
200
+
201
+ # Some parameter documentations has been truncated, see
202
+ # {Knockapi::Models::ObjectListMessagesParams} for more details.
203
+ #
204
+ # Returns a paginated list of messages for a specific object in the given
205
+ # collection. Allows filtering by message status and provides various sorting
206
+ # options.
207
+ #
208
+ # @overload list_messages(collection, id, after: nil, before: nil, channel_id: nil, engagement_status: nil, inserted_at: nil, message_ids: nil, page_size: nil, source: nil, status: nil, tenant: nil, trigger_data: nil, workflow_categories: nil, workflow_recipient_run_id: nil, workflow_run_id: nil, request_options: {})
209
+ #
210
+ # @param collection [String] The collection this object belongs to.
211
+ #
212
+ # @param id [String] Unique identifier for the object.
213
+ #
214
+ # @param after [String] The cursor to fetch entries after.
215
+ #
216
+ # @param before [String] The cursor to fetch entries before.
217
+ #
218
+ # @param channel_id [String] Limits the results to items with the corresponding channel ID.
219
+ #
220
+ # @param engagement_status [Array<Symbol, Knockapi::Models::ObjectListMessagesParams::EngagementStatus>] Limits the results to messages with the given engagement status.
221
+ #
222
+ # @param inserted_at [Knockapi::Models::ObjectListMessagesParams::InsertedAt]
223
+ #
224
+ # @param message_ids [Array<String>] Limits the results to only the message IDs given (max 50). Note: when using this
225
+ # ...
226
+ #
227
+ # @param page_size [Integer] The number of items per page.
228
+ #
229
+ # @param source [String] Limits the results to messages triggered by the given workflow key.
230
+ #
231
+ # @param status [Array<Symbol, Knockapi::Models::ObjectListMessagesParams::Status>] Limits the results to messages with the given delivery status.
232
+ #
233
+ # @param tenant [String] Limits the results to items with the corresponding tenant.
234
+ #
235
+ # @param trigger_data [String] Limits the results to only messages that were generated with the given data. See
236
+ # ...
237
+ #
238
+ # @param workflow_categories [Array<String>] Limits the results to messages related to any of the provided categories.
239
+ #
240
+ # @param workflow_recipient_run_id [String] Limits the results to messages for a specific recipient's workflow run.
241
+ #
242
+ # @param workflow_run_id [String] Limits the results to messages associated with the top-level workflow run ID ret
243
+ # ...
244
+ #
245
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
246
+ #
247
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Models::Message>]
248
+ #
249
+ # @see Knockapi::Models::ObjectListMessagesParams
250
+ def list_messages(collection, id, params = {})
251
+ parsed, options = Knockapi::Models::ObjectListMessagesParams.dump_request(params)
252
+ @client.request(
253
+ method: :get,
254
+ path: ["v1/objects/%1$s/%2$s/messages", collection, id],
255
+ query: parsed,
256
+ page: Knockapi::Internal::EntriesCursor,
257
+ model: Knockapi::Models::Message,
258
+ options: options
259
+ )
260
+ end
261
+
262
+ # Returns a paginated list of preference sets for the specified object.
263
+ #
264
+ # @overload list_preferences(collection, object_id_, request_options: {})
265
+ #
266
+ # @param collection [String] The collection this object belongs to.
267
+ #
268
+ # @param object_id_ [String] Unique identifier for the object.
269
+ #
270
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
271
+ #
272
+ # @return [Array<Knockapi::Models::Recipients::PreferenceSet>]
273
+ #
274
+ # @see Knockapi::Models::ObjectListPreferencesParams
275
+ def list_preferences(collection, object_id_, params = {})
276
+ @client.request(
277
+ method: :get,
278
+ path: ["v1/objects/%1$s/%2$s/preferences", collection, object_id_],
279
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Recipients::PreferenceSet],
280
+ options: params[:request_options]
281
+ )
282
+ end
283
+
284
+ # Returns a paginated list of schedules for an object.
285
+ #
286
+ # @overload list_schedules(collection, id, after: nil, before: nil, page_size: nil, tenant: nil, workflow: nil, request_options: {})
287
+ #
288
+ # @param collection [String] The collection of the object to list schedules for.
289
+ #
290
+ # @param id [String] The ID of the object to list schedules for.
291
+ #
292
+ # @param after [String] The cursor to fetch entries after.
293
+ #
294
+ # @param before [String] The cursor to fetch entries before.
295
+ #
296
+ # @param page_size [Integer] The number of items per page.
297
+ #
298
+ # @param tenant [String] Filter schedules by tenant id.
299
+ #
300
+ # @param workflow [String] Filter schedules by workflow id.
301
+ #
302
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
303
+ #
304
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Models::Schedule>]
305
+ #
306
+ # @see Knockapi::Models::ObjectListSchedulesParams
307
+ def list_schedules(collection, id, params = {})
308
+ parsed, options = Knockapi::Models::ObjectListSchedulesParams.dump_request(params)
309
+ @client.request(
310
+ method: :get,
311
+ path: ["v1/objects/%1$s/%2$s/schedules", collection, id],
312
+ query: parsed,
313
+ page: Knockapi::Internal::EntriesCursor,
314
+ model: Knockapi::Models::Schedule,
315
+ options: options
316
+ )
317
+ end
318
+
319
+ # Some parameter documentations has been truncated, see
320
+ # {Knockapi::Models::ObjectListSubscriptionsParams} for more details.
321
+ #
322
+ # List subscriptions for an object. Either list the recipients that subscribe to
323
+ # the provided object, or list the objects that the provided object is subscribed
324
+ # to. Determined by the `mode` query parameter.
325
+ #
326
+ # @overload list_subscriptions(collection, object_id_, after: nil, before: nil, include: nil, mode: nil, objects: nil, page_size: nil, recipients: nil, request_options: {})
327
+ #
328
+ # @param collection [String] The collection this object belongs to.
329
+ #
330
+ # @param object_id_ [String] Unique identifier for the object.
331
+ #
332
+ # @param after [String] The cursor to fetch entries after.
333
+ #
334
+ # @param before [String] The cursor to fetch entries before.
335
+ #
336
+ # @param include [Array<Symbol, Knockapi::Models::ObjectListSubscriptionsParams::Include>] Additional fields to include in the response.
337
+ #
338
+ # @param mode [Symbol, Knockapi::Models::ObjectListSubscriptionsParams::Mode] Mode of the request. `recipient` to list the objects that the provided object is
339
+ # ...
340
+ #
341
+ # @param objects [Array<Knockapi::Models::ObjectListSubscriptionsParams::Object>] Objects to filter by (only used if mode is `recipient`).
342
+ #
343
+ # @param page_size [Integer] The number of items per page.
344
+ #
345
+ # @param recipients [Array<String, Knockapi::Models::RecipientReference::ObjectReference>] Recipients to filter by (only used if mode is `object`).
346
+ #
347
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
348
+ #
349
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Models::Recipients::Subscription>]
350
+ #
351
+ # @see Knockapi::Models::ObjectListSubscriptionsParams
352
+ def list_subscriptions(collection, object_id_, params = {})
353
+ parsed, options = Knockapi::Models::ObjectListSubscriptionsParams.dump_request(params)
354
+ @client.request(
355
+ method: :get,
356
+ path: ["v1/objects/%1$s/%2$s/subscriptions", collection, object_id_],
357
+ query: parsed,
358
+ page: Knockapi::Internal::EntriesCursor,
359
+ model: Knockapi::Models::Recipients::Subscription,
360
+ options: options
361
+ )
362
+ end
363
+
364
+ # Some parameter documentations has been truncated, see
365
+ # {Knockapi::Models::ObjectSetParams} for more details.
366
+ #
367
+ # Creates a new object or updates an existing one in the specified collection.
368
+ # This operation is used to identify objects with their properties, as well as
369
+ # optional preferences and channel data.
370
+ #
371
+ # @overload set(collection, id, channel_data: nil, locale: nil, preferences: nil, timezone: nil, request_options: {})
372
+ #
373
+ # @param collection [String] The collection this object belongs to.
374
+ #
375
+ # @param id [String] Unique identifier for the object.
376
+ #
377
+ # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::ChannelDataRequest}] A request to set channel data for a type of channel inline.
378
+ #
379
+ # @param locale [String, nil] The locale of the object. Used for [message localization](/concepts/translations
380
+ # ...
381
+ #
382
+ # @param preferences [Hash{Symbol=>Knockapi::Models::Recipients::PreferenceSetRequest}] Inline set preferences for a recipient, where the key is the preference set id.
383
+ #
384
+ # @param timezone [String, nil] The timezone of the object. Must be a valid [tz database time zone string](https
385
+ # ...
386
+ #
387
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
388
+ #
389
+ # @return [Knockapi::Models::Object]
390
+ #
391
+ # @see Knockapi::Models::ObjectSetParams
392
+ def set(collection, id, params = {})
393
+ parsed, options = Knockapi::Models::ObjectSetParams.dump_request(params)
394
+ @client.request(
395
+ method: :put,
396
+ path: ["v1/objects/%1$s/%2$s", collection, id],
397
+ body: parsed,
398
+ model: Knockapi::Models::Object,
399
+ options: options
400
+ )
401
+ end
402
+
403
+ # Sets the channel data for the specified object and channel. If no object exists
404
+ # in the current environment for the given `collection` and `object_id`, Knock
405
+ # will create the object as part of this request.
406
+ #
407
+ # @overload set_channel_data(collection, object_id_, channel_id, data:, request_options: {})
408
+ #
409
+ # @param collection [String] The collection this object belongs to.
410
+ #
411
+ # @param object_id_ [String] Unique identifier for the object.
412
+ #
413
+ # @param channel_id [String] The unique identifier for the channel.
414
+ #
415
+ # @param data [Knockapi::Models::Recipients::PushChannelData, Knockapi::Models::Recipients::OneSignalChannelData, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData] Channel data for a given channel type.
416
+ #
417
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
418
+ #
419
+ # @return [Knockapi::Models::Recipients::RecipientsChannelData]
420
+ #
421
+ # @see Knockapi::Models::ObjectSetChannelDataParams
422
+ def set_channel_data(collection, object_id_, channel_id, params)
423
+ parsed, options = Knockapi::Models::ObjectSetChannelDataParams.dump_request(params)
424
+ @client.request(
425
+ method: :put,
426
+ path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
427
+ body: parsed,
428
+ model: Knockapi::Models::Recipients::RecipientsChannelData,
429
+ options: options
430
+ )
431
+ end
432
+
433
+ # Some parameter documentations has been truncated, see
434
+ # {Knockapi::Models::ObjectSetPreferencesParams} for more details.
435
+ #
436
+ # Sets preferences within the given preference set. This is a destructive
437
+ # operation and will replace any existing preferences with the preferences given.
438
+ # If no object exists in the current environment for the given `:collection` and
439
+ # `:object_id`, Knock will create the object as part of this request. The
440
+ # preference set `:id` can be either `default` or a `tenant.id`. Learn more about
441
+ # [per-tenant preferences](/preferences/tenant-preferences).
442
+ #
443
+ # @overload set_preferences(collection, object_id_, id, categories: nil, channel_types: nil, workflows: nil, request_options: {})
444
+ #
445
+ # @param collection [String] The collection this object belongs to.
446
+ #
447
+ # @param object_id_ [String] Unique identifier for the object.
448
+ #
449
+ # @param id [String] Unique identifier for the preference set.
450
+ #
451
+ # @param categories [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Category::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the category and the values are the preference settin
452
+ # ...
453
+ #
454
+ # @param channel_types [Knockapi::Models::Recipients::PreferenceSetChannelTypes, nil] Channel type preferences.
455
+ #
456
+ # @param workflows [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Workflow::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the workflow key and the values are the preference se
457
+ # ...
458
+ #
459
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
460
+ #
461
+ # @return [Knockapi::Models::Recipients::PreferenceSet]
462
+ #
463
+ # @see Knockapi::Models::ObjectSetPreferencesParams
464
+ def set_preferences(collection, object_id_, id, params = {})
465
+ parsed, options = Knockapi::Models::ObjectSetPreferencesParams.dump_request(params)
466
+ @client.request(
467
+ method: :put,
468
+ path: ["v1/objects/%1$s/%2$s/preferences/%3$s", collection, object_id_, id],
469
+ body: parsed,
470
+ model: Knockapi::Models::Recipients::PreferenceSet,
471
+ options: options
472
+ )
473
+ end
474
+
475
+ # Unsets the channel data for the specified object and channel.
476
+ #
477
+ # @overload unset_channel_data(collection, object_id_, channel_id, request_options: {})
478
+ #
479
+ # @param collection [String] The collection this object belongs to.
480
+ #
481
+ # @param object_id_ [String] Unique identifier for the object.
482
+ #
483
+ # @param channel_id [String] The unique identifier for the channel.
484
+ #
485
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
486
+ #
487
+ # @return [String]
488
+ #
489
+ # @see Knockapi::Models::ObjectUnsetChannelDataParams
490
+ def unset_channel_data(collection, object_id_, channel_id, params = {})
491
+ @client.request(
492
+ method: :delete,
493
+ path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
494
+ model: String,
495
+ options: params[:request_options]
496
+ )
497
+ end
498
+
499
+ # @api private
500
+ #
501
+ # @param client [Knockapi::Client]
502
+ def initialize(client:)
503
+ @client = client
504
+ @bulk = Knockapi::Resources::Objects::Bulk.new(client: client)
505
+ end
506
+ end
507
+ end
508
+ end