sentdm 0.26.0 → 0.28.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/inbound_message_event.rb +52 -0
  15. data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
  16. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  17. data/lib/sentdm/models/message_event.rb +53 -0
  18. data/lib/sentdm/models/message_event_payload.rb +92 -0
  19. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  21. data/lib/sentdm/models/message_send_response.rb +113 -28
  22. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  23. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  24. data/lib/sentdm/models/profile_create_params.rb +378 -26
  25. data/lib/sentdm/models/profile_create_response.rb +760 -0
  26. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  27. data/lib/sentdm/models/profile_list_response.rb +825 -14
  28. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  29. data/lib/sentdm/models/profile_update_params.rb +391 -24
  30. data/lib/sentdm/models/profile_update_response.rb +760 -0
  31. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  33. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  34. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  35. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  36. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  37. data/lib/sentdm/models/template_create_response.rb +209 -0
  38. data/lib/sentdm/models/template_event.rb +52 -0
  39. data/lib/sentdm/models/template_event_payload.rb +88 -0
  40. data/lib/sentdm/models/template_list_params.rb +9 -2
  41. data/lib/sentdm/models/template_list_response.rb +262 -16
  42. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  43. data/lib/sentdm/models/template_update_response.rb +209 -0
  44. data/lib/sentdm/models/user_invite_response.rb +201 -0
  45. data/lib/sentdm/models/user_list_response.rb +259 -14
  46. data/lib/sentdm/models/user_remove_params.rb +16 -2
  47. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  48. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  49. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  50. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  51. data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
  52. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  53. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  54. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  55. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  56. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  57. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  58. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  59. data/lib/sentdm/models.rb +11 -51
  60. data/lib/sentdm/resources/contacts.rb +30 -13
  61. data/lib/sentdm/resources/conversations.rb +12 -4
  62. data/lib/sentdm/resources/me.rb +6 -1
  63. data/lib/sentdm/resources/messages.rb +17 -5
  64. data/lib/sentdm/resources/numbers.rb +6 -1
  65. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  66. data/lib/sentdm/resources/profiles.rb +137 -61
  67. data/lib/sentdm/resources/templates.rb +14 -8
  68. data/lib/sentdm/resources/users.rb +15 -10
  69. data/lib/sentdm/resources/webhooks.rb +19 -9
  70. data/lib/sentdm/version.rb +1 -1
  71. data/lib/sentdm.rb +28 -32
  72. data/rbi/sentdm/client.rbi +71 -8
  73. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  74. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  75. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  76. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  77. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  78. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  79. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  80. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  81. data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
  82. data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
  83. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  84. data/rbi/sentdm/models/message_event.rbi +86 -0
  85. data/rbi/sentdm/models/message_event_payload.rbi +132 -0
  86. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  87. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  88. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  89. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  90. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  91. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  92. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  93. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  94. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  95. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  96. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  97. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  98. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  99. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  100. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  101. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  102. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  103. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  104. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  105. data/rbi/sentdm/models/template_event.rbi +84 -0
  106. data/rbi/sentdm/models/template_event_payload.rbi +131 -0
  107. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  108. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  109. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  110. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  111. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  112. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  113. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  114. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  115. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  116. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  117. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  118. data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
  119. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  120. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  121. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  122. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  123. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  124. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  125. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  126. data/rbi/sentdm/models.rbi +11 -53
  127. data/rbi/sentdm/resources/contacts.rbi +24 -9
  128. data/rbi/sentdm/resources/conversations.rbi +10 -2
  129. data/rbi/sentdm/resources/me.rbi +6 -1
  130. data/rbi/sentdm/resources/messages.rbi +17 -5
  131. data/rbi/sentdm/resources/numbers.rbi +6 -1
  132. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  133. data/rbi/sentdm/resources/profiles.rbi +177 -68
  134. data/rbi/sentdm/resources/templates.rbi +15 -5
  135. data/rbi/sentdm/resources/users.rbi +12 -6
  136. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  137. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  138. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  139. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  140. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  141. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  142. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  143. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  144. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  145. data/sig/sentdm/models/inbound_message_event.rbs +39 -0
  146. data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
  147. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  148. data/sig/sentdm/models/message_event.rbs +39 -0
  149. data/sig/sentdm/models/message_event_payload.rbs +72 -0
  150. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  151. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  152. data/sig/sentdm/models/message_send_response.rbs +71 -9
  153. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  154. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  155. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  156. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  157. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  158. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  159. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  160. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  161. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  162. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  163. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  164. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  165. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  166. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  167. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  168. data/sig/sentdm/models/template_create_response.rbs +182 -0
  169. data/sig/sentdm/models/template_event.rbs +39 -0
  170. data/sig/sentdm/models/template_event_payload.rbs +76 -0
  171. data/sig/sentdm/models/template_list_response.rbs +230 -19
  172. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  173. data/sig/sentdm/models/template_update_response.rbs +182 -0
  174. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  175. data/sig/sentdm/models/user_list_response.rbs +233 -15
  176. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  177. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  178. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  179. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  180. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  181. data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
  182. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  183. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  184. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  185. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  186. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  187. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  188. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  189. data/sig/sentdm/models.rbs +11 -51
  190. data/sig/sentdm/resources/contacts.rbs +4 -4
  191. data/sig/sentdm/resources/conversations.rbs +2 -2
  192. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  193. data/sig/sentdm/resources/profiles.rbs +11 -11
  194. data/sig/sentdm/resources/templates.rbs +3 -3
  195. data/sig/sentdm/resources/users.rbs +3 -3
  196. data/sig/sentdm/resources/webhooks.rbs +4 -4
  197. metadata +86 -98
  198. data/lib/sentdm/models/api_meta.rb +0 -34
  199. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  200. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  201. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  202. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  203. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  204. data/lib/sentdm/models/api_response_template.rb +0 -43
  205. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  206. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  207. data/lib/sentdm/models/brand_business_info.rb +0 -114
  208. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  209. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  210. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  211. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  212. data/lib/sentdm/models/contact_response.rb +0 -126
  213. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  214. data/lib/sentdm/models/error_detail.rb +0 -42
  215. data/lib/sentdm/models/mutation_request.rb +0 -20
  216. data/lib/sentdm/models/pagination_meta.rb +0 -80
  217. data/lib/sentdm/models/payment_details.rb +0 -44
  218. data/lib/sentdm/models/profile_detail.rb +0 -597
  219. data/lib/sentdm/models/profile_settings.rb +0 -66
  220. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  221. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  222. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  223. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  224. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  225. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  226. data/lib/sentdm/models/template.rb +0 -90
  227. data/lib/sentdm/models/user_response.rb +0 -82
  228. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  229. data/lib/sentdm/models/webhook_response.rb +0 -95
  230. data/rbi/sentdm/models/api_meta.rbi +0 -55
  231. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  232. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  233. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  234. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  235. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  236. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  237. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  238. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  239. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  240. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  241. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  242. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  243. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  244. data/rbi/sentdm/models/contact_response.rbi +0 -183
  245. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  246. data/rbi/sentdm/models/error_detail.rbi +0 -66
  247. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  248. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  249. data/rbi/sentdm/models/payment_details.rbi +0 -59
  250. data/rbi/sentdm/models/profile_detail.rbi +0 -866
  251. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  252. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  253. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  254. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  255. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  256. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  257. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  258. data/rbi/sentdm/models/template.rbi +0 -129
  259. data/rbi/sentdm/models/user_response.rbi +0 -118
  260. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  261. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  262. data/sig/sentdm/models/api_meta.rbs +0 -27
  263. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  264. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  265. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  268. data/sig/sentdm/models/api_response_template.rbs +0 -39
  269. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  270. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  271. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  272. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  273. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  274. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  275. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  276. data/sig/sentdm/models/contact_response.rbs +0 -111
  277. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  278. data/sig/sentdm/models/error_detail.rbs +0 -39
  279. data/sig/sentdm/models/mutation_request.rbs +0 -15
  280. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  281. data/sig/sentdm/models/payment_details.rbs +0 -30
  282. data/sig/sentdm/models/profile_detail.rbs +0 -469
  283. data/sig/sentdm/models/profile_settings.rbs +0 -50
  284. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  285. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  286. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  287. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  288. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  289. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  290. data/sig/sentdm/models/template.rbs +0 -79
  291. data/sig/sentdm/models/user_response.rbs +0 -72
  292. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  293. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -8,7 +8,7 @@ module Sentdm
8
8
  T.any(Sentdm::Models::WebhookListResponse, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
- # The response data (null if error)
11
+ # A paginated list of webhooks.
12
12
  sig { returns(T.nilable(Sentdm::Models::WebhookListResponse::Data)) }
13
13
  attr_reader :data
14
14
 
@@ -20,17 +20,23 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
23
+ sig { returns(T.nilable(Sentdm::Models::WebhookListResponse::Error)) }
24
24
  attr_reader :error
25
25
 
26
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
26
+ sig do
27
+ params(
28
+ error: T.nilable(Sentdm::Models::WebhookListResponse::Error::OrHash)
29
+ ).void
30
+ end
27
31
  attr_writer :error
28
32
 
29
33
  # Request and response metadata
30
- sig { returns(T.nilable(Sentdm::APIMeta)) }
34
+ sig { returns(T.nilable(Sentdm::Models::WebhookListResponse::Meta)) }
31
35
  attr_reader :meta
32
36
 
33
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
37
+ sig do
38
+ params(meta: Sentdm::Models::WebhookListResponse::Meta::OrHash).void
39
+ end
34
40
  attr_writer :meta
35
41
 
36
42
  # Indicates whether the request was successful
@@ -44,13 +50,13 @@ module Sentdm
44
50
  sig do
45
51
  params(
46
52
  data: T.nilable(Sentdm::Models::WebhookListResponse::Data::OrHash),
47
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
- meta: Sentdm::APIMeta::OrHash,
53
+ error: T.nilable(Sentdm::Models::WebhookListResponse::Error::OrHash),
54
+ meta: Sentdm::Models::WebhookListResponse::Meta::OrHash,
49
55
  success: T::Boolean
50
56
  ).returns(T.attached_class)
51
57
  end
52
58
  def self.new(
53
- # The response data (null if error)
59
+ # A paginated list of webhooks.
54
60
  data: nil,
55
61
  # Error information
56
62
  error: nil,
@@ -65,8 +71,8 @@ module Sentdm
65
71
  override.returns(
66
72
  {
67
73
  data: T.nilable(Sentdm::Models::WebhookListResponse::Data),
68
- error: T.nilable(Sentdm::ErrorDetail),
69
- meta: Sentdm::APIMeta,
74
+ error: T.nilable(Sentdm::Models::WebhookListResponse::Error),
75
+ meta: Sentdm::Models::WebhookListResponse::Meta,
70
76
  success: T::Boolean
71
77
  }
72
78
  )
@@ -84,28 +90,56 @@ module Sentdm
84
90
  end
85
91
 
86
92
  # Pagination metadata for list responses
87
- sig { returns(T.nilable(Sentdm::PaginationMeta)) }
93
+ sig do
94
+ returns(
95
+ T.nilable(Sentdm::Models::WebhookListResponse::Data::Pagination)
96
+ )
97
+ end
88
98
  attr_reader :pagination
89
99
 
90
- sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
100
+ sig do
101
+ params(
102
+ pagination:
103
+ Sentdm::Models::WebhookListResponse::Data::Pagination::OrHash
104
+ ).void
105
+ end
91
106
  attr_writer :pagination
92
107
 
93
- sig { returns(T.nilable(T::Array[Sentdm::WebhookResponse])) }
108
+ # The webhooks on this page.
109
+ sig do
110
+ returns(
111
+ T.nilable(
112
+ T::Array[Sentdm::Models::WebhookListResponse::Data::Webhook]
113
+ )
114
+ )
115
+ end
94
116
  attr_reader :webhooks
95
117
 
96
- sig { params(webhooks: T::Array[Sentdm::WebhookResponse::OrHash]).void }
118
+ sig do
119
+ params(
120
+ webhooks:
121
+ T::Array[
122
+ Sentdm::Models::WebhookListResponse::Data::Webhook::OrHash
123
+ ]
124
+ ).void
125
+ end
97
126
  attr_writer :webhooks
98
127
 
99
- # The response data (null if error)
128
+ # A paginated list of webhooks.
100
129
  sig do
101
130
  params(
102
- pagination: Sentdm::PaginationMeta::OrHash,
103
- webhooks: T::Array[Sentdm::WebhookResponse::OrHash]
131
+ pagination:
132
+ Sentdm::Models::WebhookListResponse::Data::Pagination::OrHash,
133
+ webhooks:
134
+ T::Array[
135
+ Sentdm::Models::WebhookListResponse::Data::Webhook::OrHash
136
+ ]
104
137
  ).returns(T.attached_class)
105
138
  end
106
139
  def self.new(
107
140
  # Pagination metadata for list responses
108
141
  pagination: nil,
142
+ # The webhooks on this page.
109
143
  webhooks: nil
110
144
  )
111
145
  end
@@ -113,14 +147,441 @@ module Sentdm
113
147
  sig do
114
148
  override.returns(
115
149
  {
116
- pagination: Sentdm::PaginationMeta,
117
- webhooks: T::Array[Sentdm::WebhookResponse]
150
+ pagination: Sentdm::Models::WebhookListResponse::Data::Pagination,
151
+ webhooks:
152
+ T::Array[Sentdm::Models::WebhookListResponse::Data::Webhook]
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ class Pagination < Sentdm::Internal::Type::BaseModel
160
+ OrHash =
161
+ T.type_alias do
162
+ T.any(
163
+ Sentdm::Models::WebhookListResponse::Data::Pagination,
164
+ Sentdm::Internal::AnyHash
165
+ )
166
+ end
167
+
168
+ # Cursor-based pagination. Never populated — see Cursors.
169
+ sig do
170
+ returns(
171
+ T.nilable(
172
+ Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors
173
+ )
174
+ )
175
+ end
176
+ attr_reader :cursors
177
+
178
+ sig do
179
+ params(
180
+ cursors:
181
+ T.nilable(
182
+ Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors::OrHash
183
+ )
184
+ ).void
185
+ end
186
+ attr_writer :cursors
187
+
188
+ # Whether there are more pages after this one
189
+ sig { returns(T.nilable(T::Boolean)) }
190
+ attr_reader :has_more
191
+
192
+ sig { params(has_more: T::Boolean).void }
193
+ attr_writer :has_more
194
+
195
+ # Current page number (1-indexed)
196
+ sig { returns(T.nilable(Integer)) }
197
+ attr_reader :page
198
+
199
+ sig { params(page: Integer).void }
200
+ attr_writer :page
201
+
202
+ # Number of items per page
203
+ sig { returns(T.nilable(Integer)) }
204
+ attr_reader :page_size
205
+
206
+ sig { params(page_size: Integer).void }
207
+ attr_writer :page_size
208
+
209
+ # Total number of items across all pages
210
+ sig { returns(T.nilable(Integer)) }
211
+ attr_reader :total_count
212
+
213
+ sig { params(total_count: Integer).void }
214
+ attr_writer :total_count
215
+
216
+ # Total number of pages
217
+ sig { returns(T.nilable(Integer)) }
218
+ attr_reader :total_pages
219
+
220
+ sig { params(total_pages: Integer).void }
221
+ attr_writer :total_pages
222
+
223
+ # Pagination metadata for list responses
224
+ sig do
225
+ params(
226
+ cursors:
227
+ T.nilable(
228
+ Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors::OrHash
229
+ ),
230
+ has_more: T::Boolean,
231
+ page: Integer,
232
+ page_size: Integer,
233
+ total_count: Integer,
234
+ total_pages: Integer
235
+ ).returns(T.attached_class)
236
+ end
237
+ def self.new(
238
+ # Cursor-based pagination. Never populated — see Cursors.
239
+ cursors: nil,
240
+ # Whether there are more pages after this one
241
+ has_more: nil,
242
+ # Current page number (1-indexed)
243
+ page: nil,
244
+ # Number of items per page
245
+ page_size: nil,
246
+ # Total number of items across all pages
247
+ total_count: nil,
248
+ # Total number of pages
249
+ total_pages: nil
250
+ )
251
+ end
252
+
253
+ sig do
254
+ override.returns(
255
+ {
256
+ cursors:
257
+ T.nilable(
258
+ Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors
259
+ ),
260
+ has_more: T::Boolean,
261
+ page: Integer,
262
+ page_size: Integer,
263
+ total_count: Integer,
264
+ total_pages: Integer
265
+ }
266
+ )
267
+ end
268
+ def to_hash
269
+ end
270
+
271
+ class Cursors < Sentdm::Internal::Type::BaseModel
272
+ OrHash =
273
+ T.type_alias do
274
+ T.any(
275
+ Sentdm::Models::WebhookListResponse::Data::Pagination::Cursors,
276
+ Sentdm::Internal::AnyHash
277
+ )
278
+ end
279
+
280
+ # Cursor to fetch the next page.
281
+ sig { returns(T.nilable(String)) }
282
+ attr_accessor :after
283
+
284
+ # Cursor to fetch the previous page.
285
+ sig { returns(T.nilable(String)) }
286
+ attr_accessor :before
287
+
288
+ # Cursor-based pagination. Never populated — see Cursors.
289
+ sig do
290
+ params(
291
+ after: T.nilable(String),
292
+ before: T.nilable(String)
293
+ ).returns(T.attached_class)
294
+ end
295
+ def self.new(
296
+ # Cursor to fetch the next page.
297
+ after: nil,
298
+ # Cursor to fetch the previous page.
299
+ before: nil
300
+ )
301
+ end
302
+
303
+ sig do
304
+ override.returns(
305
+ { after: T.nilable(String), before: T.nilable(String) }
306
+ )
307
+ end
308
+ def to_hash
309
+ end
310
+ end
311
+ end
312
+
313
+ class Webhook < Sentdm::Internal::Type::BaseModel
314
+ OrHash =
315
+ T.type_alias do
316
+ T.any(
317
+ Sentdm::Models::WebhookListResponse::Data::Webhook,
318
+ Sentdm::Internal::AnyHash
319
+ )
320
+ end
321
+
322
+ sig { returns(T.nilable(String)) }
323
+ attr_reader :id
324
+
325
+ sig { params(id: String).void }
326
+ attr_writer :id
327
+
328
+ sig { returns(T.nilable(Integer)) }
329
+ attr_reader :consecutive_failures
330
+
331
+ sig { params(consecutive_failures: Integer).void }
332
+ attr_writer :consecutive_failures
333
+
334
+ sig { returns(T.nilable(Time)) }
335
+ attr_reader :created_at
336
+
337
+ sig { params(created_at: Time).void }
338
+ attr_writer :created_at
339
+
340
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
341
+ # Says whose resource this is, which the resource's own id does not.
342
+ sig { returns(T.nilable(String)) }
343
+ attr_reader :customer_id
344
+
345
+ sig { params(customer_id: String).void }
346
+ attr_writer :customer_id
347
+
348
+ sig { returns(T.nilable(String)) }
349
+ attr_reader :display_name
350
+
351
+ sig { params(display_name: String).void }
352
+ attr_writer :display_name
353
+
354
+ sig { returns(T.nilable(String)) }
355
+ attr_reader :endpoint_url
356
+
357
+ sig { params(endpoint_url: String).void }
358
+ attr_writer :endpoint_url
359
+
360
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
361
+ attr_accessor :event_filters
362
+
363
+ sig { returns(T.nilable(T::Array[String])) }
364
+ attr_reader :event_types
365
+
366
+ sig { params(event_types: T::Array[String]).void }
367
+ attr_writer :event_types
368
+
369
+ sig { returns(T.nilable(T::Boolean)) }
370
+ attr_reader :is_active
371
+
372
+ sig { params(is_active: T::Boolean).void }
373
+ attr_writer :is_active
374
+
375
+ sig { returns(T.nilable(Time)) }
376
+ attr_accessor :last_delivery_attempt_at
377
+
378
+ sig { returns(T.nilable(Time)) }
379
+ attr_accessor :last_successful_delivery_at
380
+
381
+ sig { returns(T.nilable(Integer)) }
382
+ attr_reader :retry_count
383
+
384
+ sig { params(retry_count: Integer).void }
385
+ attr_writer :retry_count
386
+
387
+ sig { returns(T.nilable(String)) }
388
+ attr_accessor :signing_secret
389
+
390
+ sig { returns(T.nilable(Integer)) }
391
+ attr_reader :timeout_seconds
392
+
393
+ sig { params(timeout_seconds: Integer).void }
394
+ attr_writer :timeout_seconds
395
+
396
+ sig { returns(T.nilable(Time)) }
397
+ attr_accessor :updated_at
398
+
399
+ sig do
400
+ params(
401
+ id: String,
402
+ consecutive_failures: Integer,
403
+ created_at: Time,
404
+ customer_id: String,
405
+ display_name: String,
406
+ endpoint_url: String,
407
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
408
+ event_types: T::Array[String],
409
+ is_active: T::Boolean,
410
+ last_delivery_attempt_at: T.nilable(Time),
411
+ last_successful_delivery_at: T.nilable(Time),
412
+ retry_count: Integer,
413
+ signing_secret: T.nilable(String),
414
+ timeout_seconds: Integer,
415
+ updated_at: T.nilable(Time)
416
+ ).returns(T.attached_class)
417
+ end
418
+ def self.new(
419
+ id: nil,
420
+ consecutive_failures: nil,
421
+ created_at: nil,
422
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
423
+ # Says whose resource this is, which the resource's own id does not.
424
+ customer_id: nil,
425
+ display_name: nil,
426
+ endpoint_url: nil,
427
+ event_filters: nil,
428
+ event_types: nil,
429
+ is_active: nil,
430
+ last_delivery_attempt_at: nil,
431
+ last_successful_delivery_at: nil,
432
+ retry_count: nil,
433
+ signing_secret: nil,
434
+ timeout_seconds: nil,
435
+ updated_at: nil
436
+ )
437
+ end
438
+
439
+ sig do
440
+ override.returns(
441
+ {
442
+ id: String,
443
+ consecutive_failures: Integer,
444
+ created_at: Time,
445
+ customer_id: String,
446
+ display_name: String,
447
+ endpoint_url: String,
448
+ event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
449
+ event_types: T::Array[String],
450
+ is_active: T::Boolean,
451
+ last_delivery_attempt_at: T.nilable(Time),
452
+ last_successful_delivery_at: T.nilable(Time),
453
+ retry_count: Integer,
454
+ signing_secret: T.nilable(String),
455
+ timeout_seconds: Integer,
456
+ updated_at: T.nilable(Time)
457
+ }
458
+ )
459
+ end
460
+ def to_hash
461
+ end
462
+ end
463
+ end
464
+
465
+ class Error < Sentdm::Internal::Type::BaseModel
466
+ OrHash =
467
+ T.type_alias do
468
+ T.any(
469
+ Sentdm::Models::WebhookListResponse::Error,
470
+ Sentdm::Internal::AnyHash
471
+ )
472
+ end
473
+
474
+ # Machine-readable error code (e.g., "RESOURCE_001")
475
+ sig { returns(T.nilable(String)) }
476
+ attr_reader :code
477
+
478
+ sig { params(code: String).void }
479
+ attr_writer :code
480
+
481
+ # Additional validation error details (field-level errors)
482
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
483
+ attr_accessor :details
484
+
485
+ # URL to documentation about this error
486
+ sig { returns(T.nilable(String)) }
487
+ attr_accessor :doc_url
488
+
489
+ # Human-readable error message
490
+ sig { returns(T.nilable(String)) }
491
+ attr_reader :message
492
+
493
+ sig { params(message: String).void }
494
+ attr_writer :message
495
+
496
+ # Error information
497
+ sig do
498
+ params(
499
+ code: String,
500
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
501
+ doc_url: T.nilable(String),
502
+ message: String
503
+ ).returns(T.attached_class)
504
+ end
505
+ def self.new(
506
+ # Machine-readable error code (e.g., "RESOURCE_001")
507
+ code: nil,
508
+ # Additional validation error details (field-level errors)
509
+ details: nil,
510
+ # URL to documentation about this error
511
+ doc_url: nil,
512
+ # Human-readable error message
513
+ message: nil
514
+ )
515
+ end
516
+
517
+ sig do
518
+ override.returns(
519
+ {
520
+ code: String,
521
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
522
+ doc_url: T.nilable(String),
523
+ message: String
118
524
  }
119
525
  )
120
526
  end
121
527
  def to_hash
122
528
  end
123
529
  end
530
+
531
+ class Meta < Sentdm::Internal::Type::BaseModel
532
+ OrHash =
533
+ T.type_alias do
534
+ T.any(
535
+ Sentdm::Models::WebhookListResponse::Meta,
536
+ Sentdm::Internal::AnyHash
537
+ )
538
+ end
539
+
540
+ # Unique identifier for this request (for tracing and support)
541
+ sig { returns(T.nilable(String)) }
542
+ attr_reader :request_id
543
+
544
+ sig { params(request_id: String).void }
545
+ attr_writer :request_id
546
+
547
+ # Server timestamp when the response was generated
548
+ sig { returns(T.nilable(Time)) }
549
+ attr_reader :timestamp
550
+
551
+ sig { params(timestamp: Time).void }
552
+ attr_writer :timestamp
553
+
554
+ # API version used for this request
555
+ sig { returns(T.nilable(String)) }
556
+ attr_reader :version
557
+
558
+ sig { params(version: String).void }
559
+ attr_writer :version
560
+
561
+ # Request and response metadata
562
+ sig do
563
+ params(request_id: String, timestamp: Time, version: String).returns(
564
+ T.attached_class
565
+ )
566
+ end
567
+ def self.new(
568
+ # Unique identifier for this request (for tracing and support)
569
+ request_id: nil,
570
+ # Server timestamp when the response was generated
571
+ timestamp: nil,
572
+ # API version used for this request
573
+ version: nil
574
+ )
575
+ end
576
+
577
+ sig do
578
+ override.returns(
579
+ { request_id: String, timestamp: Time, version: String }
580
+ )
581
+ end
582
+ def to_hash
583
+ end
584
+ end
124
585
  end
125
586
  end
126
587
  end