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