sentdm 0.19.0 → 0.20.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +31 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/internal/type/enum.rb +25 -0
  6. data/lib/sentdm/models/api_meta.rb +34 -0
  7. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  8. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  10. data/lib/sentdm/models/api_response_template.rb +43 -0
  11. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  12. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  13. data/lib/sentdm/models/brands_brand_data.rb +38 -0
  14. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  15. data/lib/sentdm/models/contact_list_response.rb +12 -278
  16. data/lib/sentdm/models/contact_response.rb +126 -0
  17. data/lib/sentdm/models/destination_country.rb +21 -0
  18. data/lib/sentdm/models/error_detail.rb +42 -0
  19. data/lib/sentdm/models/me_retrieve_response.rb +12 -204
  20. data/lib/sentdm/models/message_retrieve_activities_response.rb +6 -74
  21. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  22. data/lib/sentdm/models/message_send_response.rb +6 -74
  23. data/lib/sentdm/models/mutation_request.rb +20 -0
  24. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  25. data/lib/sentdm/models/pagination_meta.rb +80 -0
  26. data/lib/sentdm/models/payment_details.rb +44 -0
  27. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  28. data/lib/sentdm/models/profile_create_params.rb +9 -423
  29. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  30. data/lib/sentdm/models/profile_detail.rb +605 -0
  31. data/lib/sentdm/models/profile_list_response.rb +9 -753
  32. data/lib/sentdm/models/profile_settings.rb +66 -0
  33. data/lib/sentdm/models/profile_update_params.rb +9 -423
  34. data/lib/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rb +45 -0
  35. data/lib/sentdm/models/profiles/base_dto.rb +32 -0
  36. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -165
  37. data/lib/sentdm/models/profiles/campaign_data.rb +123 -0
  38. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  39. data/lib/sentdm/models/profiles/campaign_list_response.rb +9 -420
  40. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -165
  41. data/lib/sentdm/models/profiles/messaging_use_case_us.rb +28 -0
  42. data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +29 -0
  43. data/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +248 -0
  44. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  45. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +48 -0
  46. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  47. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  48. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  49. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  50. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +116 -0
  51. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +75 -0
  52. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
  53. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  54. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  55. data/lib/sentdm/models/template.rb +90 -0
  56. data/lib/sentdm/models/template_body_content.rb +27 -0
  57. data/lib/sentdm/models/template_create_params.rb +3 -889
  58. data/lib/sentdm/models/template_definition.rb +66 -0
  59. data/lib/sentdm/models/template_list_response.rb +12 -242
  60. data/lib/sentdm/models/template_update_params.rb +3 -889
  61. data/lib/sentdm/models/template_variable.rb +80 -0
  62. data/lib/sentdm/models/user_list_response.rb +9 -154
  63. data/lib/sentdm/models/user_remove_params.rb +2 -16
  64. data/lib/sentdm/models/user_response.rb +82 -0
  65. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  66. data/lib/sentdm/models/webhook_list_event_types_response.rb +9 -118
  67. data/lib/sentdm/models/webhook_list_events_response.rb +9 -153
  68. data/lib/sentdm/models/webhook_list_response.rb +12 -247
  69. data/lib/sentdm/models/webhook_response.rb +95 -0
  70. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  71. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  72. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  73. data/lib/sentdm/models.rb +77 -0
  74. data/lib/sentdm/resources/contacts.rb +6 -6
  75. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  76. data/lib/sentdm/resources/profiles.rb +12 -12
  77. data/lib/sentdm/resources/templates.rb +8 -8
  78. data/lib/sentdm/resources/users.rb +6 -6
  79. data/lib/sentdm/resources/webhooks.rb +8 -8
  80. data/lib/sentdm/version.rb +1 -1
  81. data/lib/sentdm.rb +40 -18
  82. data/rbi/sentdm/models/api_meta.rbi +55 -0
  83. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  84. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  85. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  87. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  88. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  89. data/rbi/sentdm/models/brands_brand_data.rbi +104 -0
  90. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  91. data/rbi/sentdm/models/contact_list_response.rbi +16 -505
  92. data/rbi/sentdm/models/contact_response.rbi +183 -0
  93. data/rbi/sentdm/models/destination_country.rbi +32 -0
  94. data/rbi/sentdm/models/error_detail.rbi +66 -0
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -335
  96. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +8 -154
  97. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  98. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  99. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  100. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  101. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  102. data/rbi/sentdm/models/payment_details.rbi +59 -0
  103. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  104. data/rbi/sentdm/models/profile_create_params.rbi +12 -810
  105. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  106. data/rbi/sentdm/models/profile_detail.rbi +874 -0
  107. data/rbi/sentdm/models/profile_list_response.rbi +14 -1400
  108. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  109. data/rbi/sentdm/models/profile_update_params.rbi +12 -810
  110. data/rbi/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbi +83 -0
  111. data/rbi/sentdm/models/profiles/base_dto.rbi +53 -0
  112. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -289
  113. data/rbi/sentdm/models/profiles/campaign_data.rbi +148 -0
  114. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  115. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +11 -733
  116. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -289
  117. data/rbi/sentdm/models/profiles/messaging_use_case_us.rbi +73 -0
  118. data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +51 -0
  119. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +425 -0
  120. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  121. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +87 -0
  122. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +72 -0
  123. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  124. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +57 -0
  125. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +59 -0
  126. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +180 -0
  127. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +95 -0
  128. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
  129. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  130. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  131. data/rbi/sentdm/models/template.rbi +129 -0
  132. data/rbi/sentdm/models/template_body_content.rbi +43 -0
  133. data/rbi/sentdm/models/template_create_params.rbi +4 -1701
  134. data/rbi/sentdm/models/template_definition.rbi +164 -0
  135. data/rbi/sentdm/models/template_list_response.rbi +16 -454
  136. data/rbi/sentdm/models/template_update_params.rbi +4 -1701
  137. data/rbi/sentdm/models/template_variable.rbi +120 -0
  138. data/rbi/sentdm/models/user_list_response.rbi +14 -271
  139. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  140. data/rbi/sentdm/models/user_response.rbi +118 -0
  141. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  142. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +12 -247
  143. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  144. data/rbi/sentdm/models/webhook_list_response.rbi +16 -462
  145. data/rbi/sentdm/models/webhook_response.rbi +140 -0
  146. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  147. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  148. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  149. data/rbi/sentdm/models.rbi +77 -0
  150. data/rbi/sentdm/resources/contacts.rbi +3 -3
  151. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -4
  152. data/rbi/sentdm/resources/profiles.rbi +9 -13
  153. data/rbi/sentdm/resources/templates.rbi +5 -6
  154. data/rbi/sentdm/resources/users.rbi +3 -3
  155. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  156. data/sig/sentdm/models/api_meta.rbs +27 -0
  157. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  158. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  160. data/sig/sentdm/models/api_response_template.rbs +39 -0
  161. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  162. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  163. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  164. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  165. data/sig/sentdm/models/contact_list_response.rbs +20 -256
  166. data/sig/sentdm/models/contact_response.rbs +111 -0
  167. data/sig/sentdm/models/destination_country.rbs +19 -0
  168. data/sig/sentdm/models/error_detail.rbs +39 -0
  169. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  170. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -71
  171. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  172. data/sig/sentdm/models/message_send_response.rbs +9 -71
  173. data/sig/sentdm/models/mutation_request.rbs +15 -0
  174. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  175. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  176. data/sig/sentdm/models/payment_details.rbs +30 -0
  177. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  178. data/sig/sentdm/models/profile_create_params.rbs +12 -363
  179. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  180. data/sig/sentdm/models/profile_detail.rbs +474 -0
  181. data/sig/sentdm/models/profile_list_response.rbs +15 -645
  182. data/sig/sentdm/models/profile_settings.rbs +50 -0
  183. data/sig/sentdm/models/profile_update_params.rbs +12 -363
  184. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
  185. data/sig/sentdm/models/profiles/base_dto.rbs +27 -0
  186. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -138
  187. data/sig/sentdm/models/profiles/campaign_data.rbs +82 -0
  188. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  189. data/sig/sentdm/models/profiles/campaign_list_response.rbs +13 -396
  190. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -138
  191. data/sig/sentdm/models/profiles/messaging_use_case_us.rbs +40 -0
  192. data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  193. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +299 -0
  194. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  195. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +35 -0
  196. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +32 -0
  197. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  198. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +30 -0
  199. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +30 -0
  200. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
  201. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
  202. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
  203. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  204. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  205. data/sig/sentdm/models/template.rbs +79 -0
  206. data/sig/sentdm/models/template_body_content.rbs +30 -0
  207. data/sig/sentdm/models/template_create_params.rbs +6 -853
  208. data/sig/sentdm/models/template_definition.rbs +45 -0
  209. data/sig/sentdm/models/template_list_response.rbs +19 -225
  210. data/sig/sentdm/models/template_update_params.rbs +4 -851
  211. data/sig/sentdm/models/template_variable.rbs +84 -0
  212. data/sig/sentdm/models/user_list_response.rbs +15 -151
  213. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  214. data/sig/sentdm/models/user_response.rbs +72 -0
  215. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  216. data/sig/sentdm/models/webhook_list_event_types_response.rbs +15 -130
  217. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  218. data/sig/sentdm/models/webhook_list_response.rbs +20 -248
  219. data/sig/sentdm/models/webhook_response.rbs +103 -0
  220. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  221. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  222. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  223. data/sig/sentdm/models.rbs +68 -0
  224. data/sig/sentdm/resources/contacts.rbs +3 -3
  225. data/sig/sentdm/resources/profiles/campaigns.rbs +4 -4
  226. data/sig/sentdm/resources/profiles.rbs +9 -9
  227. data/sig/sentdm/resources/templates.rbs +5 -5
  228. data/sig/sentdm/resources/users.rbs +3 -3
  229. data/sig/sentdm/resources/webhooks.rbs +4 -4
  230. metadata +121 -55
  231. data/lib/sentdm/models/contact_create_response.rb +0 -236
  232. data/lib/sentdm/models/contact_retrieve_response.rb +0 -236
  233. data/lib/sentdm/models/contact_update_response.rb +0 -236
  234. data/lib/sentdm/models/profile_create_response.rb +0 -781
  235. data/lib/sentdm/models/profile_retrieve_response.rb +0 -783
  236. data/lib/sentdm/models/profile_update_response.rb +0 -781
  237. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -459
  238. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -459
  239. data/lib/sentdm/models/template_create_response.rb +0 -197
  240. data/lib/sentdm/models/template_retrieve_response.rb +0 -197
  241. data/lib/sentdm/models/template_update_response.rb +0 -197
  242. data/lib/sentdm/models/user_invite_response.rb +0 -189
  243. data/lib/sentdm/models/user_retrieve_response.rb +0 -189
  244. data/lib/sentdm/models/user_update_role_response.rb +0 -189
  245. data/lib/sentdm/models/webhook_create_response.rb +0 -204
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -204
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -204
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -204
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -390
  250. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -392
  251. data/rbi/sentdm/models/contact_update_response.rbi +0 -390
  252. data/rbi/sentdm/models/profile_create_response.rbi +0 -1439
  253. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1443
  254. data/rbi/sentdm/models/profile_update_response.rbi +0 -1439
  255. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -814
  256. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -814
  257. data/rbi/sentdm/models/template_create_response.rbi +0 -339
  258. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -345
  259. data/rbi/sentdm/models/template_update_response.rbi +0 -339
  260. data/rbi/sentdm/models/user_invite_response.rbi +0 -323
  261. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -323
  262. data/rbi/sentdm/models/user_update_role_response.rbi +0 -328
  263. data/rbi/sentdm/models/webhook_create_response.rbi +0 -348
  264. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -350
  265. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -366
  266. data/rbi/sentdm/models/webhook_update_response.rbi +0 -348
  267. data/sig/sentdm/models/contact_create_response.rbs +0 -209
  268. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -209
  269. data/sig/sentdm/models/contact_update_response.rbs +0 -209
  270. data/sig/sentdm/models/profile_create_response.rbs +0 -662
  271. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -662
  272. data/sig/sentdm/models/profile_update_response.rbs +0 -662
  273. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -424
  274. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -424
  275. data/sig/sentdm/models/template_create_response.rbs +0 -177
  276. data/sig/sentdm/models/template_retrieve_response.rbs +0 -177
  277. data/sig/sentdm/models/template_update_response.rbs +0 -177
  278. data/sig/sentdm/models/user_invite_response.rbs +0 -170
  279. data/sig/sentdm/models/user_retrieve_response.rbs +0 -170
  280. data/sig/sentdm/models/user_update_role_response.rbs +0 -170
  281. data/sig/sentdm/models/webhook_create_response.rbs +0 -201
  282. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -201
  283. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -201
  284. data/sig/sentdm/models/webhook_update_response.rbs +0 -201
@@ -0,0 +1,120 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateVariable < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::TemplateVariable, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :name
13
+
14
+ sig { returns(Sentdm::TemplateVariable::Props) }
15
+ attr_reader :props
16
+
17
+ sig { params(props: Sentdm::TemplateVariable::Props::OrHash).void }
18
+ attr_writer :props
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :type
22
+
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :id
25
+
26
+ sig { params(id: Integer).void }
27
+ attr_writer :id
28
+
29
+ sig do
30
+ params(
31
+ name: String,
32
+ props: Sentdm::TemplateVariable::Props::OrHash,
33
+ type: String,
34
+ id: Integer
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(name:, props:, type:, id: nil)
38
+ end
39
+
40
+ sig do
41
+ override.returns(
42
+ {
43
+ name: String,
44
+ props: Sentdm::TemplateVariable::Props,
45
+ type: String,
46
+ id: Integer
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+
53
+ class Props < Sentdm::Internal::Type::BaseModel
54
+ OrHash =
55
+ T.type_alias do
56
+ T.any(Sentdm::TemplateVariable::Props, Sentdm::Internal::AnyHash)
57
+ end
58
+
59
+ sig { returns(String) }
60
+ attr_accessor :media_type
61
+
62
+ sig { returns(String) }
63
+ attr_accessor :sample
64
+
65
+ sig { returns(String) }
66
+ attr_accessor :url
67
+
68
+ sig { returns(String) }
69
+ attr_accessor :variable_type
70
+
71
+ sig { returns(T.nilable(String)) }
72
+ attr_accessor :alt
73
+
74
+ sig { returns(T.nilable(String)) }
75
+ attr_accessor :regex
76
+
77
+ sig { returns(T.nilable(String)) }
78
+ attr_accessor :short_url
79
+
80
+ sig do
81
+ params(
82
+ media_type: String,
83
+ sample: String,
84
+ url: String,
85
+ variable_type: String,
86
+ alt: T.nilable(String),
87
+ regex: T.nilable(String),
88
+ short_url: T.nilable(String)
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ media_type:,
93
+ sample:,
94
+ url:,
95
+ variable_type:,
96
+ alt: nil,
97
+ regex: nil,
98
+ short_url: nil
99
+ )
100
+ end
101
+
102
+ sig do
103
+ override.returns(
104
+ {
105
+ media_type: String,
106
+ sample: String,
107
+ url: String,
108
+ variable_type: String,
109
+ alt: T.nilable(String),
110
+ regex: T.nilable(String),
111
+ short_url: T.nilable(String)
112
+ }
113
+ )
114
+ end
115
+ def to_hash
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -20,21 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::UserListResponse::Error)) }
23
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
24
24
  attr_reader :error
25
25
 
26
- sig do
27
- params(
28
- error: T.nilable(Sentdm::Models::UserListResponse::Error::OrHash)
29
- ).void
30
- end
26
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
27
  attr_writer :error
32
28
 
33
29
  # Request and response metadata
34
- sig { returns(T.nilable(Sentdm::Models::UserListResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig { params(meta: Sentdm::Models::UserListResponse::Meta::OrHash).void }
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
38
34
  attr_writer :meta
39
35
 
40
36
  # Indicates whether the request was successful
@@ -48,8 +44,8 @@ module Sentdm
48
44
  sig do
49
45
  params(
50
46
  data: T.nilable(Sentdm::Models::UserListResponse::Data::OrHash),
51
- error: T.nilable(Sentdm::Models::UserListResponse::Error::OrHash),
52
- meta: Sentdm::Models::UserListResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
53
49
  success: T::Boolean
54
50
  ).returns(T.attached_class)
55
51
  end
@@ -69,8 +65,8 @@ module Sentdm
69
65
  override.returns(
70
66
  {
71
67
  data: T.nilable(Sentdm::Models::UserListResponse::Data),
72
- error: T.nilable(Sentdm::Models::UserListResponse::Error),
73
- meta: Sentdm::Models::UserListResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
74
70
  success: T::Boolean
75
71
  }
76
72
  )
@@ -88,278 +84,25 @@ module Sentdm
88
84
  end
89
85
 
90
86
  # List of users in the organization
91
- sig do
92
- returns(
93
- T.nilable(T::Array[Sentdm::Models::UserListResponse::Data::User])
94
- )
95
- end
87
+ sig { returns(T.nilable(T::Array[Sentdm::UserResponse])) }
96
88
  attr_reader :users
97
89
 
98
- sig do
99
- params(
100
- users:
101
- T::Array[Sentdm::Models::UserListResponse::Data::User::OrHash]
102
- ).void
103
- end
90
+ sig { params(users: T::Array[Sentdm::UserResponse::OrHash]).void }
104
91
  attr_writer :users
105
92
 
106
93
  # List of users response
107
94
  sig do
108
- params(
109
- users:
110
- T::Array[Sentdm::Models::UserListResponse::Data::User::OrHash]
111
- ).returns(T.attached_class)
112
- end
113
- def self.new(
114
- # List of users in the organization
115
- users: nil
116
- )
117
- end
118
-
119
- sig do
120
- override.returns(
121
- { users: T::Array[Sentdm::Models::UserListResponse::Data::User] }
122
- )
123
- end
124
- def to_hash
125
- end
126
-
127
- class User < Sentdm::Internal::Type::BaseModel
128
- OrHash =
129
- T.type_alias do
130
- T.any(
131
- Sentdm::Models::UserListResponse::Data::User,
132
- Sentdm::Internal::AnyHash
133
- )
134
- end
135
-
136
- # User unique identifier
137
- sig { returns(T.nilable(String)) }
138
- attr_reader :id
139
-
140
- sig { params(id: String).void }
141
- attr_writer :id
142
-
143
- # When the user was added to the organization
144
- sig { returns(T.nilable(Time)) }
145
- attr_reader :created_at
146
-
147
- sig { params(created_at: Time).void }
148
- attr_writer :created_at
149
-
150
- # User email address
151
- sig { returns(T.nilable(String)) }
152
- attr_reader :email
153
-
154
- sig { params(email: String).void }
155
- attr_writer :email
156
-
157
- # When the user was invited
158
- sig { returns(T.nilable(Time)) }
159
- attr_accessor :invited_at
160
-
161
- # When the user last logged in
162
- sig { returns(T.nilable(Time)) }
163
- attr_accessor :last_login_at
164
-
165
- # User full name
166
- sig { returns(T.nilable(String)) }
167
- attr_reader :name
168
-
169
- sig { params(name: String).void }
170
- attr_writer :name
171
-
172
- # User role in the organization: admin, billing, developer
173
- sig { returns(T.nilable(String)) }
174
- attr_reader :role
175
-
176
- sig { params(role: String).void }
177
- attr_writer :role
178
-
179
- # User status: active, invited, suspended, rejected
180
- sig { returns(T.nilable(String)) }
181
- attr_reader :status
182
-
183
- sig { params(status: String).void }
184
- attr_writer :status
185
-
186
- # When the user record was last updated
187
- sig { returns(T.nilable(Time)) }
188
- attr_accessor :updated_at
189
-
190
- # User response for v3 API
191
- sig do
192
- params(
193
- id: String,
194
- created_at: Time,
195
- email: String,
196
- invited_at: T.nilable(Time),
197
- last_login_at: T.nilable(Time),
198
- name: String,
199
- role: String,
200
- status: String,
201
- updated_at: T.nilable(Time)
202
- ).returns(T.attached_class)
203
- end
204
- def self.new(
205
- # User unique identifier
206
- id: nil,
207
- # When the user was added to the organization
208
- created_at: nil,
209
- # User email address
210
- email: nil,
211
- # When the user was invited
212
- invited_at: nil,
213
- # When the user last logged in
214
- last_login_at: nil,
215
- # User full name
216
- name: nil,
217
- # User role in the organization: admin, billing, developer
218
- role: nil,
219
- # User status: active, invited, suspended, rejected
220
- status: nil,
221
- # When the user record was last updated
222
- updated_at: nil
223
- )
224
- end
225
-
226
- sig do
227
- override.returns(
228
- {
229
- id: String,
230
- created_at: Time,
231
- email: String,
232
- invited_at: T.nilable(Time),
233
- last_login_at: T.nilable(Time),
234
- name: String,
235
- role: String,
236
- status: String,
237
- updated_at: T.nilable(Time)
238
- }
239
- )
240
- end
241
- def to_hash
242
- end
243
- end
244
- end
245
-
246
- class Error < Sentdm::Internal::Type::BaseModel
247
- OrHash =
248
- T.type_alias do
249
- T.any(
250
- Sentdm::Models::UserListResponse::Error,
251
- Sentdm::Internal::AnyHash
252
- )
253
- end
254
-
255
- # Machine-readable error code (e.g., "RESOURCE_001")
256
- sig { returns(T.nilable(String)) }
257
- attr_reader :code
258
-
259
- sig { params(code: String).void }
260
- attr_writer :code
261
-
262
- # Additional validation error details (field-level errors)
263
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
264
- attr_accessor :details
265
-
266
- # URL to documentation about this error
267
- sig { returns(T.nilable(String)) }
268
- attr_accessor :doc_url
269
-
270
- # Human-readable error message
271
- sig { returns(T.nilable(String)) }
272
- attr_reader :message
273
-
274
- sig { params(message: String).void }
275
- attr_writer :message
276
-
277
- # Error information
278
- sig do
279
- params(
280
- code: String,
281
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
282
- doc_url: T.nilable(String),
283
- message: String
284
- ).returns(T.attached_class)
285
- end
286
- def self.new(
287
- # Machine-readable error code (e.g., "RESOURCE_001")
288
- code: nil,
289
- # Additional validation error details (field-level errors)
290
- details: nil,
291
- # URL to documentation about this error
292
- doc_url: nil,
293
- # Human-readable error message
294
- message: nil
295
- )
296
- end
297
-
298
- sig do
299
- override.returns(
300
- {
301
- code: String,
302
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
303
- doc_url: T.nilable(String),
304
- message: String
305
- }
306
- )
307
- end
308
- def to_hash
309
- end
310
- end
311
-
312
- class Meta < Sentdm::Internal::Type::BaseModel
313
- OrHash =
314
- T.type_alias do
315
- T.any(
316
- Sentdm::Models::UserListResponse::Meta,
317
- Sentdm::Internal::AnyHash
318
- )
319
- end
320
-
321
- # Unique identifier for this request (for tracing and support)
322
- sig { returns(T.nilable(String)) }
323
- attr_reader :request_id
324
-
325
- sig { params(request_id: String).void }
326
- attr_writer :request_id
327
-
328
- # Server timestamp when the response was generated
329
- sig { returns(T.nilable(Time)) }
330
- attr_reader :timestamp
331
-
332
- sig { params(timestamp: Time).void }
333
- attr_writer :timestamp
334
-
335
- # API version used for this request
336
- sig { returns(T.nilable(String)) }
337
- attr_reader :version
338
-
339
- sig { params(version: String).void }
340
- attr_writer :version
341
-
342
- # Request and response metadata
343
- sig do
344
- params(request_id: String, timestamp: Time, version: String).returns(
95
+ params(users: T::Array[Sentdm::UserResponse::OrHash]).returns(
345
96
  T.attached_class
346
97
  )
347
98
  end
348
99
  def self.new(
349
- # Unique identifier for this request (for tracing and support)
350
- request_id: nil,
351
- # Server timestamp when the response was generated
352
- timestamp: nil,
353
- # API version used for this request
354
- version: nil
100
+ # List of users in the organization
101
+ users: nil
355
102
  )
356
103
  end
357
104
 
358
- sig do
359
- override.returns(
360
- { request_id: String, timestamp: Time, version: String }
361
- )
362
- end
105
+ sig { override.returns({ users: T::Array[Sentdm::UserResponse] }) }
363
106
  def to_hash
364
107
  end
365
108
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class UserRemoveParams < Sentdm::Internal::Type::BaseModel
5
+ class UserRemoveParams < Sentdm::Models::MutationRequest
6
6
  extend Sentdm::Internal::Type::RequestParameters::Converter
7
7
  include Sentdm::Internal::Type::RequestParameters
8
8
 
@@ -14,14 +14,6 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :user_id
16
16
 
17
- # Sandbox flag - when true, the operation is simulated without side effects Useful
18
- # for testing integrations without actual execution
19
- sig { returns(T.nilable(T::Boolean)) }
20
- attr_reader :sandbox
21
-
22
- sig { params(sandbox: T::Boolean).void }
23
- attr_writer :sandbox
24
-
25
17
  sig { returns(T.nilable(String)) }
26
18
  attr_reader :x_profile_id
27
19
 
@@ -31,26 +23,17 @@ module Sentdm
31
23
  sig do
32
24
  params(
33
25
  user_id: String,
34
- sandbox: T::Boolean,
35
26
  x_profile_id: String,
36
27
  request_options: Sentdm::RequestOptions::OrHash
37
28
  ).returns(T.attached_class)
38
29
  end
39
- def self.new(
40
- user_id:,
41
- # Sandbox flag - when true, the operation is simulated without side effects Useful
42
- # for testing integrations without actual execution
43
- sandbox: nil,
44
- x_profile_id: nil,
45
- request_options: {}
46
- )
30
+ def self.new(user_id:, x_profile_id: nil, request_options: {})
47
31
  end
48
32
 
49
33
  sig do
50
34
  override.returns(
51
35
  {
52
36
  user_id: String,
53
- sandbox: T::Boolean,
54
37
  x_profile_id: String,
55
38
  request_options: Sentdm::RequestOptions
56
39
  }
@@ -0,0 +1,118 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class UserResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::UserResponse, Sentdm::Internal::AnyHash) }
8
+
9
+ # User unique identifier
10
+ sig { returns(T.nilable(String)) }
11
+ attr_reader :id
12
+
13
+ sig { params(id: String).void }
14
+ attr_writer :id
15
+
16
+ # When the user was added to the organization
17
+ sig { returns(T.nilable(Time)) }
18
+ attr_reader :created_at
19
+
20
+ sig { params(created_at: Time).void }
21
+ attr_writer :created_at
22
+
23
+ # User email address
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :email
26
+
27
+ sig { params(email: String).void }
28
+ attr_writer :email
29
+
30
+ # When the user was invited
31
+ sig { returns(T.nilable(Time)) }
32
+ attr_accessor :invited_at
33
+
34
+ # When the user last logged in
35
+ sig { returns(T.nilable(Time)) }
36
+ attr_accessor :last_login_at
37
+
38
+ # User full name
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :name
41
+
42
+ sig { params(name: String).void }
43
+ attr_writer :name
44
+
45
+ # User role in the organization: admin, billing, developer
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :role
48
+
49
+ sig { params(role: String).void }
50
+ attr_writer :role
51
+
52
+ # User status: active, invited, suspended, rejected
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :status
55
+
56
+ sig { params(status: String).void }
57
+ attr_writer :status
58
+
59
+ # When the user record was last updated
60
+ sig { returns(T.nilable(Time)) }
61
+ attr_accessor :updated_at
62
+
63
+ # User response for v3 API
64
+ sig do
65
+ params(
66
+ id: String,
67
+ created_at: Time,
68
+ email: String,
69
+ invited_at: T.nilable(Time),
70
+ last_login_at: T.nilable(Time),
71
+ name: String,
72
+ role: String,
73
+ status: String,
74
+ updated_at: T.nilable(Time)
75
+ ).returns(T.attached_class)
76
+ end
77
+ def self.new(
78
+ # User unique identifier
79
+ id: nil,
80
+ # When the user was added to the organization
81
+ created_at: nil,
82
+ # User email address
83
+ email: nil,
84
+ # When the user was invited
85
+ invited_at: nil,
86
+ # When the user last logged in
87
+ last_login_at: nil,
88
+ # User full name
89
+ name: nil,
90
+ # User role in the organization: admin, billing, developer
91
+ role: nil,
92
+ # User status: active, invited, suspended, rejected
93
+ status: nil,
94
+ # When the user record was last updated
95
+ updated_at: nil
96
+ )
97
+ end
98
+
99
+ sig do
100
+ override.returns(
101
+ {
102
+ id: String,
103
+ created_at: Time,
104
+ email: String,
105
+ invited_at: T.nilable(Time),
106
+ last_login_at: T.nilable(Time),
107
+ name: String,
108
+ role: String,
109
+ status: String,
110
+ updated_at: T.nilable(Time)
111
+ }
112
+ )
113
+ end
114
+ def to_hash
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookEventType < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookEventType, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_accessor :description
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :display_name
16
+
17
+ sig { params(display_name: String).void }
18
+ attr_writer :display_name
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :event_type
22
+
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :is_active
25
+
26
+ sig { params(is_active: T::Boolean).void }
27
+ attr_writer :is_active
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :name
31
+
32
+ sig { params(name: String).void }
33
+ attr_writer :name
34
+
35
+ sig { returns(T.nilable(T::Array[Sentdm::WebhookEventType])) }
36
+ attr_accessor :sub_types
37
+
38
+ sig do
39
+ params(
40
+ description: T.nilable(String),
41
+ display_name: String,
42
+ event_type: T.nilable(String),
43
+ is_active: T::Boolean,
44
+ name: String,
45
+ sub_types: T.nilable(T::Array[Sentdm::WebhookEventType])
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ description: nil,
50
+ display_name: nil,
51
+ event_type: nil,
52
+ is_active: nil,
53
+ name: nil,
54
+ sub_types: nil
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ description: T.nilable(String),
62
+ display_name: String,
63
+ event_type: T.nilable(String),
64
+ is_active: T::Boolean,
65
+ name: String,
66
+ sub_types: T.nilable(T::Array[Sentdm::WebhookEventType])
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end