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