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
@@ -20,23 +20,17 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::Models::ProfileListResponse::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::ProfileListResponse::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::ProfileListResponse::Meta)) }
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
31
  attr_reader :meta
36
32
 
37
- sig do
38
- params(meta: Sentdm::Models::ProfileListResponse::Meta::OrHash).void
39
- end
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
40
34
  attr_writer :meta
41
35
 
42
36
  # Indicates whether the request was successful
@@ -50,8 +44,8 @@ module Sentdm
50
44
  sig do
51
45
  params(
52
46
  data: T.nilable(Sentdm::Models::ProfileListResponse::Data::OrHash),
53
- error: T.nilable(Sentdm::Models::ProfileListResponse::Error::OrHash),
54
- meta: Sentdm::Models::ProfileListResponse::Meta::OrHash,
47
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
55
49
  success: T::Boolean
56
50
  ).returns(T.attached_class)
57
51
  end
@@ -71,8 +65,8 @@ module Sentdm
71
65
  override.returns(
72
66
  {
73
67
  data: T.nilable(Sentdm::Models::ProfileListResponse::Data),
74
- error: T.nilable(Sentdm::Models::ProfileListResponse::Error),
75
- meta: Sentdm::Models::ProfileListResponse::Meta,
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
76
70
  success: T::Boolean
77
71
  }
78
72
  )
@@ -90,1405 +84,25 @@ module Sentdm
90
84
  end
91
85
 
92
86
  # List of profiles in the organization
93
- sig do
94
- returns(
95
- T.nilable(
96
- T::Array[Sentdm::Models::ProfileListResponse::Data::Profile]
97
- )
98
- )
99
- end
87
+ sig { returns(T.nilable(T::Array[Sentdm::ProfileDetail])) }
100
88
  attr_reader :profiles
101
89
 
102
- sig do
103
- params(
104
- profiles:
105
- T::Array[
106
- Sentdm::Models::ProfileListResponse::Data::Profile::OrHash
107
- ]
108
- ).void
109
- end
90
+ sig { params(profiles: T::Array[Sentdm::ProfileDetail::OrHash]).void }
110
91
  attr_writer :profiles
111
92
 
112
93
  # List of profiles response
113
94
  sig do
114
- params(
115
- profiles:
116
- T::Array[
117
- Sentdm::Models::ProfileListResponse::Data::Profile::OrHash
118
- ]
119
- ).returns(T.attached_class)
120
- end
121
- def self.new(
122
- # List of profiles in the organization
123
- profiles: nil
124
- )
125
- end
126
-
127
- sig do
128
- override.returns(
129
- {
130
- profiles:
131
- T::Array[Sentdm::Models::ProfileListResponse::Data::Profile]
132
- }
133
- )
134
- end
135
- def to_hash
136
- end
137
-
138
- class Profile < Sentdm::Internal::Type::BaseModel
139
- OrHash =
140
- T.type_alias do
141
- T.any(
142
- Sentdm::Models::ProfileListResponse::Data::Profile,
143
- Sentdm::Internal::AnyHash
144
- )
145
- end
146
-
147
- # Profile unique identifier
148
- sig { returns(T.nilable(String)) }
149
- attr_reader :id
150
-
151
- sig { params(id: String).void }
152
- attr_writer :id
153
-
154
- # Whether contacts are shared across profiles in the organization
155
- sig { returns(T.nilable(T::Boolean)) }
156
- attr_reader :allow_contact_sharing
157
-
158
- sig { params(allow_contact_sharing: T::Boolean).void }
159
- attr_writer :allow_contact_sharing
160
-
161
- # Whether number changes are allowed during onboarding
162
- sig { returns(T.nilable(T::Boolean)) }
163
- attr_accessor :allow_number_change_during_onboarding
164
-
165
- # Whether templates are shared across profiles in the organization
166
- sig { returns(T.nilable(T::Boolean)) }
167
- attr_reader :allow_template_sharing
168
-
169
- sig { params(allow_template_sharing: T::Boolean).void }
170
- attr_writer :allow_template_sharing
171
-
172
- # Billing contact info returned in profile responses
173
- sig do
174
- returns(
175
- T.nilable(
176
- Sentdm::Models::ProfileListResponse::Data::Profile::BillingContact
177
- )
178
- )
179
- end
180
- attr_reader :billing_contact
181
-
182
- sig do
183
- params(
184
- billing_contact:
185
- T.nilable(
186
- Sentdm::Models::ProfileListResponse::Data::Profile::BillingContact::OrHash
187
- )
188
- ).void
189
- end
190
- attr_writer :billing_contact
191
-
192
- # Billing model: profile, organization, or profile_and_organization
193
- sig { returns(T.nilable(String)) }
194
- attr_reader :billing_model
195
-
196
- sig { params(billing_model: String).void }
197
- attr_writer :billing_model
198
-
199
- # Brand response with nested contact, business, and compliance sections — mirrors
200
- # the request structure.
201
- sig do
202
- returns(
203
- T.nilable(
204
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand
205
- )
206
- )
207
- end
208
- attr_reader :brand
209
-
210
- sig do
211
- params(
212
- brand:
213
- T.nilable(
214
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::OrHash
215
- )
216
- ).void
217
- end
218
- attr_writer :brand
219
-
220
- # When the profile was created
221
- sig { returns(T.nilable(Time)) }
222
- attr_reader :created_at
223
-
224
- sig { params(created_at: Time).void }
225
- attr_writer :created_at
226
-
227
- # Profile description
228
- sig { returns(T.nilable(String)) }
229
- attr_accessor :description
230
-
231
- # Profile email (inherited from organization)
232
- sig { returns(T.nilable(String)) }
233
- attr_accessor :email
234
-
235
- # Profile icon URL
236
- sig { returns(T.nilable(String)) }
237
- attr_accessor :icon
238
-
239
- # Whether this profile inherits contacts from the organization
240
- sig { returns(T.nilable(T::Boolean)) }
241
- attr_reader :inherit_contacts
242
-
243
- sig { params(inherit_contacts: T::Boolean).void }
244
- attr_writer :inherit_contacts
245
-
246
- # Whether this profile inherits TCR brand from the organization
247
- sig { returns(T.nilable(T::Boolean)) }
248
- attr_reader :inherit_tcr_brand
249
-
250
- sig { params(inherit_tcr_brand: T::Boolean).void }
251
- attr_writer :inherit_tcr_brand
252
-
253
- # Whether this profile inherits TCR campaign from the organization
254
- sig { returns(T.nilable(T::Boolean)) }
255
- attr_reader :inherit_tcr_campaign
256
-
257
- sig { params(inherit_tcr_campaign: T::Boolean).void }
258
- attr_writer :inherit_tcr_campaign
259
-
260
- # Whether this profile inherits templates from the organization
261
- sig { returns(T.nilable(T::Boolean)) }
262
- attr_reader :inherit_templates
263
-
264
- sig { params(inherit_templates: T::Boolean).void }
265
- attr_writer :inherit_templates
266
-
267
- # Profile name
268
- sig { returns(T.nilable(String)) }
269
- attr_reader :name
270
-
271
- sig { params(name: String).void }
272
- attr_writer :name
273
-
274
- # Parent organization ID
275
- sig { returns(T.nilable(String)) }
276
- attr_accessor :organization_id
277
-
278
- # Direct SMS phone number
279
- sig { returns(T.nilable(String)) }
280
- attr_accessor :sending_phone_number
281
-
282
- # Reference to another profile for SMS/Telnyx configuration
283
- sig { returns(T.nilable(String)) }
284
- attr_accessor :sending_phone_number_profile_id
285
-
286
- # Reference to another profile for WhatsApp configuration
287
- sig { returns(T.nilable(String)) }
288
- attr_accessor :sending_whatsapp_number_profile_id
289
-
290
- # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
291
- # only, with at least one letter.
292
- sig { returns(T.nilable(String)) }
293
- attr_accessor :short_name
294
-
295
- # Profile setup status: incomplete, pending_review, approved, rejected
296
- sig { returns(T.nilable(String)) }
297
- attr_reader :status
298
-
299
- sig { params(status: String).void }
300
- attr_writer :status
301
-
302
- # When the profile was last updated
303
- sig { returns(T.nilable(Time)) }
304
- attr_accessor :updated_at
305
-
306
- # WhatsApp Business Account ID associated with this profile. Present whether the
307
- # WABA is inherited from the organization or configured directly.
308
- sig { returns(T.nilable(String)) }
309
- attr_accessor :waba_id
310
-
311
- # Direct WhatsApp phone number
312
- sig { returns(T.nilable(String)) }
313
- attr_accessor :whatsapp_phone_number
314
-
315
- # Detailed profile response for v3 API
316
- sig do
317
- params(
318
- id: String,
319
- allow_contact_sharing: T::Boolean,
320
- allow_number_change_during_onboarding: T.nilable(T::Boolean),
321
- allow_template_sharing: T::Boolean,
322
- billing_contact:
323
- T.nilable(
324
- Sentdm::Models::ProfileListResponse::Data::Profile::BillingContact::OrHash
325
- ),
326
- billing_model: String,
327
- brand:
328
- T.nilable(
329
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::OrHash
330
- ),
331
- created_at: Time,
332
- description: T.nilable(String),
333
- email: T.nilable(String),
334
- icon: T.nilable(String),
335
- inherit_contacts: T::Boolean,
336
- inherit_tcr_brand: T::Boolean,
337
- inherit_tcr_campaign: T::Boolean,
338
- inherit_templates: T::Boolean,
339
- name: String,
340
- organization_id: T.nilable(String),
341
- sending_phone_number: T.nilable(String),
342
- sending_phone_number_profile_id: T.nilable(String),
343
- sending_whatsapp_number_profile_id: T.nilable(String),
344
- short_name: T.nilable(String),
345
- status: String,
346
- updated_at: T.nilable(Time),
347
- waba_id: T.nilable(String),
348
- whatsapp_phone_number: T.nilable(String)
349
- ).returns(T.attached_class)
350
- end
351
- def self.new(
352
- # Profile unique identifier
353
- id: nil,
354
- # Whether contacts are shared across profiles in the organization
355
- allow_contact_sharing: nil,
356
- # Whether number changes are allowed during onboarding
357
- allow_number_change_during_onboarding: nil,
358
- # Whether templates are shared across profiles in the organization
359
- allow_template_sharing: nil,
360
- # Billing contact info returned in profile responses
361
- billing_contact: nil,
362
- # Billing model: profile, organization, or profile_and_organization
363
- billing_model: nil,
364
- # Brand response with nested contact, business, and compliance sections — mirrors
365
- # the request structure.
366
- brand: nil,
367
- # When the profile was created
368
- created_at: nil,
369
- # Profile description
370
- description: nil,
371
- # Profile email (inherited from organization)
372
- email: nil,
373
- # Profile icon URL
374
- icon: nil,
375
- # Whether this profile inherits contacts from the organization
376
- inherit_contacts: nil,
377
- # Whether this profile inherits TCR brand from the organization
378
- inherit_tcr_brand: nil,
379
- # Whether this profile inherits TCR campaign from the organization
380
- inherit_tcr_campaign: nil,
381
- # Whether this profile inherits templates from the organization
382
- inherit_templates: nil,
383
- # Profile name
384
- name: nil,
385
- # Parent organization ID
386
- organization_id: nil,
387
- # Direct SMS phone number
388
- sending_phone_number: nil,
389
- # Reference to another profile for SMS/Telnyx configuration
390
- sending_phone_number_profile_id: nil,
391
- # Reference to another profile for WhatsApp configuration
392
- sending_whatsapp_number_profile_id: nil,
393
- # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
394
- # only, with at least one letter.
395
- short_name: nil,
396
- # Profile setup status: incomplete, pending_review, approved, rejected
397
- status: nil,
398
- # When the profile was last updated
399
- updated_at: nil,
400
- # WhatsApp Business Account ID associated with this profile. Present whether the
401
- # WABA is inherited from the organization or configured directly.
402
- waba_id: nil,
403
- # Direct WhatsApp phone number
404
- whatsapp_phone_number: nil
405
- )
406
- end
407
-
408
- sig do
409
- override.returns(
410
- {
411
- id: String,
412
- allow_contact_sharing: T::Boolean,
413
- allow_number_change_during_onboarding: T.nilable(T::Boolean),
414
- allow_template_sharing: T::Boolean,
415
- billing_contact:
416
- T.nilable(
417
- Sentdm::Models::ProfileListResponse::Data::Profile::BillingContact
418
- ),
419
- billing_model: String,
420
- brand:
421
- T.nilable(
422
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand
423
- ),
424
- created_at: Time,
425
- description: T.nilable(String),
426
- email: T.nilable(String),
427
- icon: T.nilable(String),
428
- inherit_contacts: T::Boolean,
429
- inherit_tcr_brand: T::Boolean,
430
- inherit_tcr_campaign: T::Boolean,
431
- inherit_templates: T::Boolean,
432
- name: String,
433
- organization_id: T.nilable(String),
434
- sending_phone_number: T.nilable(String),
435
- sending_phone_number_profile_id: T.nilable(String),
436
- sending_whatsapp_number_profile_id: T.nilable(String),
437
- short_name: T.nilable(String),
438
- status: String,
439
- updated_at: T.nilable(Time),
440
- waba_id: T.nilable(String),
441
- whatsapp_phone_number: T.nilable(String)
442
- }
443
- )
444
- end
445
- def to_hash
446
- end
447
-
448
- class BillingContact < Sentdm::Internal::Type::BaseModel
449
- OrHash =
450
- T.type_alias do
451
- T.any(
452
- Sentdm::Models::ProfileListResponse::Data::Profile::BillingContact,
453
- Sentdm::Internal::AnyHash
454
- )
455
- end
456
-
457
- sig { returns(T.nilable(String)) }
458
- attr_accessor :address
459
-
460
- sig { returns(T.nilable(String)) }
461
- attr_accessor :email
462
-
463
- sig { returns(T.nilable(String)) }
464
- attr_accessor :name
465
-
466
- sig { returns(T.nilable(String)) }
467
- attr_accessor :phone
468
-
469
- # Billing contact info returned in profile responses
470
- sig do
471
- params(
472
- address: T.nilable(String),
473
- email: T.nilable(String),
474
- name: T.nilable(String),
475
- phone: T.nilable(String)
476
- ).returns(T.attached_class)
477
- end
478
- def self.new(address: nil, email: nil, name: nil, phone: nil)
479
- end
480
-
481
- sig do
482
- override.returns(
483
- {
484
- address: T.nilable(String),
485
- email: T.nilable(String),
486
- name: T.nilable(String),
487
- phone: T.nilable(String)
488
- }
489
- )
490
- end
491
- def to_hash
492
- end
493
- end
494
-
495
- class Brand < Sentdm::Internal::Type::BaseModel
496
- OrHash =
497
- T.type_alias do
498
- T.any(
499
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand,
500
- Sentdm::Internal::AnyHash
501
- )
502
- end
503
-
504
- # Unique identifier for the brand
505
- sig { returns(T.nilable(String)) }
506
- attr_reader :id
507
-
508
- sig { params(id: String).void }
509
- attr_writer :id
510
-
511
- # Business details and address information
512
- sig do
513
- returns(
514
- T.nilable(
515
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Business
516
- )
517
- )
518
- end
519
- attr_reader :business
520
-
521
- sig do
522
- params(
523
- business:
524
- T.nilable(
525
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Business::OrHash
526
- )
527
- ).void
528
- end
529
- attr_writer :business
530
-
531
- # Compliance and TCR-related information
532
- sig do
533
- returns(
534
- T.nilable(
535
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance
536
- )
537
- )
538
- end
539
- attr_reader :compliance
540
-
541
- sig do
542
- params(
543
- compliance:
544
- T.nilable(
545
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::OrHash
546
- )
547
- ).void
548
- end
549
- attr_writer :compliance
550
-
551
- # Contact information for the brand
552
- sig do
553
- returns(
554
- T.nilable(
555
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Contact
556
- )
557
- )
558
- end
559
- attr_reader :contact
560
-
561
- sig do
562
- params(
563
- contact:
564
- T.nilable(
565
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Contact::OrHash
566
- )
567
- ).void
568
- end
569
- attr_writer :contact
570
-
571
- # When the brand was created
572
- sig { returns(T.nilable(Time)) }
573
- attr_reader :created_at
574
-
575
- sig { params(created_at: Time).void }
576
- attr_writer :created_at
577
-
578
- # CSP (Campaign Service Provider) ID
579
- sig { returns(T.nilable(String)) }
580
- attr_accessor :csp_id
581
-
582
- sig do
583
- returns(
584
- T.nilable(
585
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
586
- )
587
- )
588
- end
589
- attr_accessor :identity_status
590
-
591
- # Whether this brand is inherited from the parent organization
592
- sig { returns(T.nilable(T::Boolean)) }
593
- attr_reader :is_inherited
594
-
595
- sig { params(is_inherited: T::Boolean).void }
596
- attr_writer :is_inherited
597
-
598
- sig do
599
- returns(
600
- T.nilable(
601
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::TaggedSymbol
602
- )
603
- )
604
- end
605
- attr_accessor :status
606
-
607
- # When the brand was submitted to TCR
608
- sig { returns(T.nilable(Time)) }
609
- attr_accessor :submitted_at
610
-
611
- # Whether this brand has been submitted to TCR
612
- sig { returns(T.nilable(T::Boolean)) }
613
- attr_reader :submitted_to_tcr
614
-
615
- sig { params(submitted_to_tcr: T::Boolean).void }
616
- attr_writer :submitted_to_tcr
617
-
618
- # TCR brand ID (populated after TCR submission)
619
- sig { returns(T.nilable(String)) }
620
- attr_accessor :tcr_brand_id
621
-
622
- # Universal EIN from TCR
623
- sig { returns(T.nilable(String)) }
624
- attr_accessor :universal_ein
625
-
626
- # When the brand was last updated
627
- sig { returns(T.nilable(Time)) }
628
- attr_accessor :updated_at
629
-
630
- # Brand response with nested contact, business, and compliance sections — mirrors
631
- # the request structure.
632
- sig do
633
- params(
634
- id: String,
635
- business:
636
- T.nilable(
637
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Business::OrHash
638
- ),
639
- compliance:
640
- T.nilable(
641
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::OrHash
642
- ),
643
- contact:
644
- T.nilable(
645
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Contact::OrHash
646
- ),
647
- created_at: Time,
648
- csp_id: T.nilable(String),
649
- identity_status:
650
- T.nilable(
651
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::OrSymbol
652
- ),
653
- is_inherited: T::Boolean,
654
- status:
655
- T.nilable(
656
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::OrSymbol
657
- ),
658
- submitted_at: T.nilable(Time),
659
- submitted_to_tcr: T::Boolean,
660
- tcr_brand_id: T.nilable(String),
661
- universal_ein: T.nilable(String),
662
- updated_at: T.nilable(Time)
663
- ).returns(T.attached_class)
664
- end
665
- def self.new(
666
- # Unique identifier for the brand
667
- id: nil,
668
- # Business details and address information
669
- business: nil,
670
- # Compliance and TCR-related information
671
- compliance: nil,
672
- # Contact information for the brand
673
- contact: nil,
674
- # When the brand was created
675
- created_at: nil,
676
- # CSP (Campaign Service Provider) ID
677
- csp_id: nil,
678
- identity_status: nil,
679
- # Whether this brand is inherited from the parent organization
680
- is_inherited: nil,
681
- status: nil,
682
- # When the brand was submitted to TCR
683
- submitted_at: nil,
684
- # Whether this brand has been submitted to TCR
685
- submitted_to_tcr: nil,
686
- # TCR brand ID (populated after TCR submission)
687
- tcr_brand_id: nil,
688
- # Universal EIN from TCR
689
- universal_ein: nil,
690
- # When the brand was last updated
691
- updated_at: nil
692
- )
693
- end
694
-
695
- sig do
696
- override.returns(
697
- {
698
- id: String,
699
- business:
700
- T.nilable(
701
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Business
702
- ),
703
- compliance:
704
- T.nilable(
705
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance
706
- ),
707
- contact:
708
- T.nilable(
709
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Contact
710
- ),
711
- created_at: Time,
712
- csp_id: T.nilable(String),
713
- identity_status:
714
- T.nilable(
715
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
716
- ),
717
- is_inherited: T::Boolean,
718
- status:
719
- T.nilable(
720
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::TaggedSymbol
721
- ),
722
- submitted_at: T.nilable(Time),
723
- submitted_to_tcr: T::Boolean,
724
- tcr_brand_id: T.nilable(String),
725
- universal_ein: T.nilable(String),
726
- updated_at: T.nilable(Time)
727
- }
728
- )
729
- end
730
- def to_hash
731
- end
732
-
733
- class Business < Sentdm::Internal::Type::BaseModel
734
- OrHash =
735
- T.type_alias do
736
- T.any(
737
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Business,
738
- Sentdm::Internal::AnyHash
739
- )
740
- end
741
-
742
- # City
743
- sig { returns(T.nilable(String)) }
744
- attr_accessor :city
745
-
746
- # Country code (e.g., US, CA)
747
- sig { returns(T.nilable(String)) }
748
- attr_accessor :country
749
-
750
- # Country where the business is registered
751
- sig { returns(T.nilable(String)) }
752
- attr_accessor :country_of_registration
753
-
754
- # Business entity type
755
- sig { returns(T.nilable(String)) }
756
- attr_accessor :entity_type
757
-
758
- # Legal business name
759
- sig { returns(T.nilable(String)) }
760
- attr_accessor :legal_name
761
-
762
- # Postal/ZIP code
763
- sig { returns(T.nilable(String)) }
764
- attr_accessor :postal_code
765
-
766
- # State/province code
767
- sig { returns(T.nilable(String)) }
768
- attr_accessor :state
769
-
770
- # Street address
771
- sig { returns(T.nilable(String)) }
772
- attr_accessor :street
773
-
774
- # Tax ID/EIN number
775
- sig { returns(T.nilable(String)) }
776
- attr_accessor :tax_id
777
-
778
- # Type of tax ID (e.g., us_ein, ca_bn)
779
- sig { returns(T.nilable(String)) }
780
- attr_accessor :tax_id_type
781
-
782
- # Business website URL
783
- sig { returns(T.nilable(String)) }
784
- attr_accessor :url
785
-
786
- # Business details and address information
787
- sig do
788
- params(
789
- city: T.nilable(String),
790
- country: T.nilable(String),
791
- country_of_registration: T.nilable(String),
792
- entity_type: T.nilable(String),
793
- legal_name: T.nilable(String),
794
- postal_code: T.nilable(String),
795
- state: T.nilable(String),
796
- street: T.nilable(String),
797
- tax_id: T.nilable(String),
798
- tax_id_type: T.nilable(String),
799
- url: T.nilable(String)
800
- ).returns(T.attached_class)
801
- end
802
- def self.new(
803
- # City
804
- city: nil,
805
- # Country code (e.g., US, CA)
806
- country: nil,
807
- # Country where the business is registered
808
- country_of_registration: nil,
809
- # Business entity type
810
- entity_type: nil,
811
- # Legal business name
812
- legal_name: nil,
813
- # Postal/ZIP code
814
- postal_code: nil,
815
- # State/province code
816
- state: nil,
817
- # Street address
818
- street: nil,
819
- # Tax ID/EIN number
820
- tax_id: nil,
821
- # Type of tax ID (e.g., us_ein, ca_bn)
822
- tax_id_type: nil,
823
- # Business website URL
824
- url: nil
825
- )
826
- end
827
-
828
- sig do
829
- override.returns(
830
- {
831
- city: T.nilable(String),
832
- country: T.nilable(String),
833
- country_of_registration: T.nilable(String),
834
- entity_type: T.nilable(String),
835
- legal_name: T.nilable(String),
836
- postal_code: T.nilable(String),
837
- state: T.nilable(String),
838
- street: T.nilable(String),
839
- tax_id: T.nilable(String),
840
- tax_id_type: T.nilable(String),
841
- url: T.nilable(String)
842
- }
843
- )
844
- end
845
- def to_hash
846
- end
847
- end
848
-
849
- class Compliance < Sentdm::Internal::Type::BaseModel
850
- OrHash =
851
- T.type_alias do
852
- T.any(
853
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance,
854
- Sentdm::Internal::AnyHash
855
- )
856
- end
857
-
858
- sig do
859
- returns(
860
- T.nilable(
861
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
862
- )
863
- )
864
- end
865
- attr_accessor :brand_relationship
866
-
867
- # List of destination countries for messaging
868
- sig do
869
- returns(
870
- T.nilable(
871
- T::Array[
872
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::DestinationCountry
873
- ]
874
- )
875
- )
876
- end
877
- attr_reader :destination_countries
878
-
879
- sig do
880
- params(
881
- destination_countries:
882
- T::Array[
883
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::DestinationCountry::OrHash
884
- ]
885
- ).void
886
- end
887
- attr_writer :destination_countries
888
-
889
- # Expected daily messaging volume
890
- sig { returns(T.nilable(String)) }
891
- attr_accessor :expected_messaging_volume
892
-
893
- # Whether this is a TCR (Campaign Registry) application
894
- sig { returns(T.nilable(T::Boolean)) }
895
- attr_reader :is_tcr_application
896
-
897
- sig { params(is_tcr_application: T::Boolean).void }
898
- attr_writer :is_tcr_application
899
-
900
- # Additional notes about the business or use case
901
- sig { returns(T.nilable(String)) }
902
- attr_accessor :notes
903
-
904
- # Phone number prefix for messaging (e.g., "+1")
905
- sig { returns(T.nilable(String)) }
906
- attr_accessor :phone_number_prefix
907
-
908
- # Primary messaging use case description
909
- sig { returns(T.nilable(String)) }
910
- attr_accessor :primary_use_case
911
-
912
- sig do
913
- returns(
914
- T.nilable(
915
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
916
- )
917
- )
918
- end
919
- attr_accessor :vertical
920
-
921
- # Compliance and TCR-related information
922
- sig do
923
- params(
924
- brand_relationship:
925
- T.nilable(
926
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::OrSymbol
927
- ),
928
- destination_countries:
929
- T::Array[
930
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::DestinationCountry::OrHash
931
- ],
932
- expected_messaging_volume: T.nilable(String),
933
- is_tcr_application: T::Boolean,
934
- notes: T.nilable(String),
935
- phone_number_prefix: T.nilable(String),
936
- primary_use_case: T.nilable(String),
937
- vertical:
938
- T.nilable(
939
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::OrSymbol
940
- )
941
- ).returns(T.attached_class)
942
- end
943
- def self.new(
944
- brand_relationship: nil,
945
- # List of destination countries for messaging
946
- destination_countries: nil,
947
- # Expected daily messaging volume
948
- expected_messaging_volume: nil,
949
- # Whether this is a TCR (Campaign Registry) application
950
- is_tcr_application: nil,
951
- # Additional notes about the business or use case
952
- notes: nil,
953
- # Phone number prefix for messaging (e.g., "+1")
954
- phone_number_prefix: nil,
955
- # Primary messaging use case description
956
- primary_use_case: nil,
957
- vertical: nil
958
- )
959
- end
960
-
961
- sig do
962
- override.returns(
963
- {
964
- brand_relationship:
965
- T.nilable(
966
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
967
- ),
968
- destination_countries:
969
- T::Array[
970
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::DestinationCountry
971
- ],
972
- expected_messaging_volume: T.nilable(String),
973
- is_tcr_application: T::Boolean,
974
- notes: T.nilable(String),
975
- phone_number_prefix: T.nilable(String),
976
- primary_use_case: T.nilable(String),
977
- vertical:
978
- T.nilable(
979
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
980
- )
981
- }
982
- )
983
- end
984
- def to_hash
985
- end
986
-
987
- module BrandRelationship
988
- extend Sentdm::Internal::Type::Enum
989
-
990
- TaggedSymbol =
991
- T.type_alias do
992
- T.all(
993
- Symbol,
994
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship
995
- )
996
- end
997
- OrSymbol = T.type_alias { T.any(Symbol, String) }
998
-
999
- BASIC_ACCOUNT =
1000
- T.let(
1001
- :BASIC_ACCOUNT,
1002
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
1003
- )
1004
- MEDIUM_ACCOUNT =
1005
- T.let(
1006
- :MEDIUM_ACCOUNT,
1007
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
1008
- )
1009
- LARGE_ACCOUNT =
1010
- T.let(
1011
- :LARGE_ACCOUNT,
1012
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
1013
- )
1014
- SMALL_ACCOUNT =
1015
- T.let(
1016
- :SMALL_ACCOUNT,
1017
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
1018
- )
1019
- KEY_ACCOUNT =
1020
- T.let(
1021
- :KEY_ACCOUNT,
1022
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
1023
- )
1024
-
1025
- sig do
1026
- override.returns(
1027
- T::Array[
1028
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::BrandRelationship::TaggedSymbol
1029
- ]
1030
- )
1031
- end
1032
- def self.values
1033
- end
1034
- end
1035
-
1036
- class DestinationCountry < Sentdm::Internal::Type::BaseModel
1037
- OrHash =
1038
- T.type_alias do
1039
- T.any(
1040
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::DestinationCountry,
1041
- Sentdm::Internal::AnyHash
1042
- )
1043
- end
1044
-
1045
- sig { returns(T.nilable(String)) }
1046
- attr_reader :id
1047
-
1048
- sig { params(id: String).void }
1049
- attr_writer :id
1050
-
1051
- sig { returns(T.nilable(T::Boolean)) }
1052
- attr_reader :is_main
1053
-
1054
- sig { params(is_main: T::Boolean).void }
1055
- attr_writer :is_main
1056
-
1057
- sig do
1058
- params(id: String, is_main: T::Boolean).returns(
1059
- T.attached_class
1060
- )
1061
- end
1062
- def self.new(id: nil, is_main: nil)
1063
- end
1064
-
1065
- sig { override.returns({ id: String, is_main: T::Boolean }) }
1066
- def to_hash
1067
- end
1068
- end
1069
-
1070
- module Vertical
1071
- extend Sentdm::Internal::Type::Enum
1072
-
1073
- TaggedSymbol =
1074
- T.type_alias do
1075
- T.all(
1076
- Symbol,
1077
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical
1078
- )
1079
- end
1080
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1081
-
1082
- PROFESSIONAL =
1083
- T.let(
1084
- :PROFESSIONAL,
1085
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1086
- )
1087
- REAL_ESTATE =
1088
- T.let(
1089
- :REAL_ESTATE,
1090
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1091
- )
1092
- HEALTHCARE =
1093
- T.let(
1094
- :HEALTHCARE,
1095
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1096
- )
1097
- HUMAN_RESOURCES =
1098
- T.let(
1099
- :HUMAN_RESOURCES,
1100
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1101
- )
1102
- ENERGY =
1103
- T.let(
1104
- :ENERGY,
1105
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1106
- )
1107
- ENTERTAINMENT =
1108
- T.let(
1109
- :ENTERTAINMENT,
1110
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1111
- )
1112
- RETAIL =
1113
- T.let(
1114
- :RETAIL,
1115
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1116
- )
1117
- TRANSPORTATION =
1118
- T.let(
1119
- :TRANSPORTATION,
1120
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1121
- )
1122
- AGRICULTURE =
1123
- T.let(
1124
- :AGRICULTURE,
1125
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1126
- )
1127
- INSURANCE =
1128
- T.let(
1129
- :INSURANCE,
1130
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1131
- )
1132
- POSTAL =
1133
- T.let(
1134
- :POSTAL,
1135
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1136
- )
1137
- EDUCATION =
1138
- T.let(
1139
- :EDUCATION,
1140
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1141
- )
1142
- HOSPITALITY =
1143
- T.let(
1144
- :HOSPITALITY,
1145
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1146
- )
1147
- FINANCIAL =
1148
- T.let(
1149
- :FINANCIAL,
1150
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1151
- )
1152
- POLITICAL =
1153
- T.let(
1154
- :POLITICAL,
1155
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1156
- )
1157
- GAMBLING =
1158
- T.let(
1159
- :GAMBLING,
1160
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1161
- )
1162
- LEGAL =
1163
- T.let(
1164
- :LEGAL,
1165
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1166
- )
1167
- CONSTRUCTION =
1168
- T.let(
1169
- :CONSTRUCTION,
1170
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1171
- )
1172
- NGO =
1173
- T.let(
1174
- :NGO,
1175
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1176
- )
1177
- MANUFACTURING =
1178
- T.let(
1179
- :MANUFACTURING,
1180
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1181
- )
1182
- GOVERNMENT =
1183
- T.let(
1184
- :GOVERNMENT,
1185
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1186
- )
1187
- TECHNOLOGY =
1188
- T.let(
1189
- :TECHNOLOGY,
1190
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1191
- )
1192
- COMMUNICATION =
1193
- T.let(
1194
- :COMMUNICATION,
1195
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1196
- )
1197
-
1198
- sig do
1199
- override.returns(
1200
- T::Array[
1201
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Compliance::Vertical::TaggedSymbol
1202
- ]
1203
- )
1204
- end
1205
- def self.values
1206
- end
1207
- end
1208
- end
1209
-
1210
- class Contact < Sentdm::Internal::Type::BaseModel
1211
- OrHash =
1212
- T.type_alias do
1213
- T.any(
1214
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Contact,
1215
- Sentdm::Internal::AnyHash
1216
- )
1217
- end
1218
-
1219
- # Business/brand name
1220
- sig { returns(T.nilable(String)) }
1221
- attr_accessor :business_name
1222
-
1223
- # Contact email address
1224
- sig { returns(T.nilable(String)) }
1225
- attr_accessor :email
1226
-
1227
- # Primary contact name
1228
- sig { returns(T.nilable(String)) }
1229
- attr_reader :name
1230
-
1231
- sig { params(name: String).void }
1232
- attr_writer :name
1233
-
1234
- # Contact phone number in E.164 format
1235
- sig { returns(T.nilable(String)) }
1236
- attr_accessor :phone
1237
-
1238
- # Contact phone country code (e.g., "1" for US)
1239
- sig { returns(T.nilable(String)) }
1240
- attr_accessor :phone_country_code
1241
-
1242
- # Contact's role in the business
1243
- sig { returns(T.nilable(String)) }
1244
- attr_accessor :role
1245
-
1246
- # Contact information for the brand
1247
- sig do
1248
- params(
1249
- business_name: T.nilable(String),
1250
- email: T.nilable(String),
1251
- name: String,
1252
- phone: T.nilable(String),
1253
- phone_country_code: T.nilable(String),
1254
- role: T.nilable(String)
1255
- ).returns(T.attached_class)
1256
- end
1257
- def self.new(
1258
- # Business/brand name
1259
- business_name: nil,
1260
- # Contact email address
1261
- email: nil,
1262
- # Primary contact name
1263
- name: nil,
1264
- # Contact phone number in E.164 format
1265
- phone: nil,
1266
- # Contact phone country code (e.g., "1" for US)
1267
- phone_country_code: nil,
1268
- # Contact's role in the business
1269
- role: nil
1270
- )
1271
- end
1272
-
1273
- sig do
1274
- override.returns(
1275
- {
1276
- business_name: T.nilable(String),
1277
- email: T.nilable(String),
1278
- name: String,
1279
- phone: T.nilable(String),
1280
- phone_country_code: T.nilable(String),
1281
- role: T.nilable(String)
1282
- }
1283
- )
1284
- end
1285
- def to_hash
1286
- end
1287
- end
1288
-
1289
- module IdentityStatus
1290
- extend Sentdm::Internal::Type::Enum
1291
-
1292
- TaggedSymbol =
1293
- T.type_alias do
1294
- T.all(
1295
- Symbol,
1296
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus
1297
- )
1298
- end
1299
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1300
-
1301
- SELF_DECLARED =
1302
- T.let(
1303
- :SELF_DECLARED,
1304
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
1305
- )
1306
- UNVERIFIED =
1307
- T.let(
1308
- :UNVERIFIED,
1309
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
1310
- )
1311
- VERIFIED =
1312
- T.let(
1313
- :VERIFIED,
1314
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
1315
- )
1316
- VETTED_VERIFIED =
1317
- T.let(
1318
- :VETTED_VERIFIED,
1319
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
1320
- )
1321
-
1322
- sig do
1323
- override.returns(
1324
- T::Array[
1325
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::IdentityStatus::TaggedSymbol
1326
- ]
1327
- )
1328
- end
1329
- def self.values
1330
- end
1331
- end
1332
-
1333
- module Status
1334
- extend Sentdm::Internal::Type::Enum
1335
-
1336
- TaggedSymbol =
1337
- T.type_alias do
1338
- T.all(
1339
- Symbol,
1340
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status
1341
- )
1342
- end
1343
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1344
-
1345
- ACTIVE =
1346
- T.let(
1347
- :ACTIVE,
1348
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::TaggedSymbol
1349
- )
1350
- INACTIVE =
1351
- T.let(
1352
- :INACTIVE,
1353
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::TaggedSymbol
1354
- )
1355
- SUSPENDED =
1356
- T.let(
1357
- :SUSPENDED,
1358
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::TaggedSymbol
1359
- )
1360
-
1361
- sig do
1362
- override.returns(
1363
- T::Array[
1364
- Sentdm::Models::ProfileListResponse::Data::Profile::Brand::Status::TaggedSymbol
1365
- ]
1366
- )
1367
- end
1368
- def self.values
1369
- end
1370
- end
1371
- end
1372
- end
1373
- end
1374
-
1375
- class Error < Sentdm::Internal::Type::BaseModel
1376
- OrHash =
1377
- T.type_alias do
1378
- T.any(
1379
- Sentdm::Models::ProfileListResponse::Error,
1380
- Sentdm::Internal::AnyHash
1381
- )
1382
- end
1383
-
1384
- # Machine-readable error code (e.g., "RESOURCE_001")
1385
- sig { returns(T.nilable(String)) }
1386
- attr_reader :code
1387
-
1388
- sig { params(code: String).void }
1389
- attr_writer :code
1390
-
1391
- # Additional validation error details (field-level errors)
1392
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
1393
- attr_accessor :details
1394
-
1395
- # URL to documentation about this error
1396
- sig { returns(T.nilable(String)) }
1397
- attr_accessor :doc_url
1398
-
1399
- # Human-readable error message
1400
- sig { returns(T.nilable(String)) }
1401
- attr_reader :message
1402
-
1403
- sig { params(message: String).void }
1404
- attr_writer :message
1405
-
1406
- # Error information
1407
- sig do
1408
- params(
1409
- code: String,
1410
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
1411
- doc_url: T.nilable(String),
1412
- message: String
1413
- ).returns(T.attached_class)
1414
- end
1415
- def self.new(
1416
- # Machine-readable error code (e.g., "RESOURCE_001")
1417
- code: nil,
1418
- # Additional validation error details (field-level errors)
1419
- details: nil,
1420
- # URL to documentation about this error
1421
- doc_url: nil,
1422
- # Human-readable error message
1423
- message: nil
1424
- )
1425
- end
1426
-
1427
- sig do
1428
- override.returns(
1429
- {
1430
- code: String,
1431
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
1432
- doc_url: T.nilable(String),
1433
- message: String
1434
- }
1435
- )
1436
- end
1437
- def to_hash
1438
- end
1439
- end
1440
-
1441
- class Meta < Sentdm::Internal::Type::BaseModel
1442
- OrHash =
1443
- T.type_alias do
1444
- T.any(
1445
- Sentdm::Models::ProfileListResponse::Meta,
1446
- Sentdm::Internal::AnyHash
1447
- )
1448
- end
1449
-
1450
- # Unique identifier for this request (for tracing and support)
1451
- sig { returns(T.nilable(String)) }
1452
- attr_reader :request_id
1453
-
1454
- sig { params(request_id: String).void }
1455
- attr_writer :request_id
1456
-
1457
- # Server timestamp when the response was generated
1458
- sig { returns(T.nilable(Time)) }
1459
- attr_reader :timestamp
1460
-
1461
- sig { params(timestamp: Time).void }
1462
- attr_writer :timestamp
1463
-
1464
- # API version used for this request
1465
- sig { returns(T.nilable(String)) }
1466
- attr_reader :version
1467
-
1468
- sig { params(version: String).void }
1469
- attr_writer :version
1470
-
1471
- # Request and response metadata
1472
- sig do
1473
- params(request_id: String, timestamp: Time, version: String).returns(
95
+ params(profiles: T::Array[Sentdm::ProfileDetail::OrHash]).returns(
1474
96
  T.attached_class
1475
97
  )
1476
98
  end
1477
99
  def self.new(
1478
- # Unique identifier for this request (for tracing and support)
1479
- request_id: nil,
1480
- # Server timestamp when the response was generated
1481
- timestamp: nil,
1482
- # API version used for this request
1483
- version: nil
100
+ # List of profiles in the organization
101
+ profiles: nil
1484
102
  )
1485
103
  end
1486
104
 
1487
- sig do
1488
- override.returns(
1489
- { request_id: String, timestamp: Time, version: String }
1490
- )
1491
- end
105
+ sig { override.returns({ profiles: T::Array[Sentdm::ProfileDetail] }) }
1492
106
  def to_hash
1493
107
  end
1494
108
  end