sentdm 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/inbound_message_event.rb +52 -0
  15. data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
  16. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  17. data/lib/sentdm/models/message_event.rb +53 -0
  18. data/lib/sentdm/models/message_event_payload.rb +92 -0
  19. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  21. data/lib/sentdm/models/message_send_response.rb +113 -28
  22. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  23. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  24. data/lib/sentdm/models/profile_create_params.rb +378 -26
  25. data/lib/sentdm/models/profile_create_response.rb +760 -0
  26. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  27. data/lib/sentdm/models/profile_list_response.rb +825 -14
  28. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  29. data/lib/sentdm/models/profile_update_params.rb +391 -24
  30. data/lib/sentdm/models/profile_update_response.rb +760 -0
  31. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  33. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  34. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  35. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  36. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  37. data/lib/sentdm/models/template_create_response.rb +209 -0
  38. data/lib/sentdm/models/template_event.rb +52 -0
  39. data/lib/sentdm/models/template_event_payload.rb +88 -0
  40. data/lib/sentdm/models/template_list_params.rb +9 -2
  41. data/lib/sentdm/models/template_list_response.rb +262 -16
  42. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  43. data/lib/sentdm/models/template_update_response.rb +209 -0
  44. data/lib/sentdm/models/user_invite_response.rb +201 -0
  45. data/lib/sentdm/models/user_list_response.rb +259 -14
  46. data/lib/sentdm/models/user_remove_params.rb +16 -2
  47. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  48. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  49. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  50. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  51. data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
  52. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  53. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  54. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  55. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  56. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  57. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  58. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  59. data/lib/sentdm/models.rb +11 -51
  60. data/lib/sentdm/resources/contacts.rb +30 -13
  61. data/lib/sentdm/resources/conversations.rb +12 -4
  62. data/lib/sentdm/resources/me.rb +6 -1
  63. data/lib/sentdm/resources/messages.rb +17 -5
  64. data/lib/sentdm/resources/numbers.rb +6 -1
  65. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  66. data/lib/sentdm/resources/profiles.rb +137 -61
  67. data/lib/sentdm/resources/templates.rb +14 -8
  68. data/lib/sentdm/resources/users.rb +15 -10
  69. data/lib/sentdm/resources/webhooks.rb +19 -9
  70. data/lib/sentdm/version.rb +1 -1
  71. data/lib/sentdm.rb +28 -32
  72. data/rbi/sentdm/client.rbi +71 -8
  73. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  74. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  75. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  76. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  77. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  78. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  79. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  80. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  81. data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
  82. data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
  83. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  84. data/rbi/sentdm/models/message_event.rbi +86 -0
  85. data/rbi/sentdm/models/message_event_payload.rbi +132 -0
  86. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  87. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  88. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  89. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  90. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  91. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  92. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  93. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  94. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  95. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  96. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  97. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  98. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  99. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  100. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  101. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  102. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  103. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  104. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  105. data/rbi/sentdm/models/template_event.rbi +84 -0
  106. data/rbi/sentdm/models/template_event_payload.rbi +131 -0
  107. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  108. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  109. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  110. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  111. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  112. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  113. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  114. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  115. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  116. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  117. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  118. data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
  119. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  120. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  121. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  122. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  123. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  124. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  125. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  126. data/rbi/sentdm/models.rbi +11 -53
  127. data/rbi/sentdm/resources/contacts.rbi +24 -9
  128. data/rbi/sentdm/resources/conversations.rbi +10 -2
  129. data/rbi/sentdm/resources/me.rbi +6 -1
  130. data/rbi/sentdm/resources/messages.rbi +17 -5
  131. data/rbi/sentdm/resources/numbers.rbi +6 -1
  132. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  133. data/rbi/sentdm/resources/profiles.rbi +177 -68
  134. data/rbi/sentdm/resources/templates.rbi +15 -5
  135. data/rbi/sentdm/resources/users.rbi +12 -6
  136. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  137. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  138. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  139. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  140. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  141. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  142. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  143. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  144. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  145. data/sig/sentdm/models/inbound_message_event.rbs +39 -0
  146. data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
  147. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  148. data/sig/sentdm/models/message_event.rbs +39 -0
  149. data/sig/sentdm/models/message_event_payload.rbs +72 -0
  150. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  151. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  152. data/sig/sentdm/models/message_send_response.rbs +71 -9
  153. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  154. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  155. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  156. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  157. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  158. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  159. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  160. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  161. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  162. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  163. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  164. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  165. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  166. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  167. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  168. data/sig/sentdm/models/template_create_response.rbs +182 -0
  169. data/sig/sentdm/models/template_event.rbs +39 -0
  170. data/sig/sentdm/models/template_event_payload.rbs +76 -0
  171. data/sig/sentdm/models/template_list_response.rbs +230 -19
  172. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  173. data/sig/sentdm/models/template_update_response.rbs +182 -0
  174. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  175. data/sig/sentdm/models/user_list_response.rbs +233 -15
  176. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  177. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  178. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  179. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  180. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  181. data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
  182. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  183. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  184. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  185. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  186. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  187. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  188. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  189. data/sig/sentdm/models.rbs +11 -51
  190. data/sig/sentdm/resources/contacts.rbs +4 -4
  191. data/sig/sentdm/resources/conversations.rbs +2 -2
  192. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  193. data/sig/sentdm/resources/profiles.rbs +11 -11
  194. data/sig/sentdm/resources/templates.rbs +3 -3
  195. data/sig/sentdm/resources/users.rbs +3 -3
  196. data/sig/sentdm/resources/webhooks.rbs +4 -4
  197. metadata +86 -98
  198. data/lib/sentdm/models/api_meta.rb +0 -34
  199. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  200. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  201. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  202. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  203. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  204. data/lib/sentdm/models/api_response_template.rb +0 -43
  205. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  206. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  207. data/lib/sentdm/models/brand_business_info.rb +0 -114
  208. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  209. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  210. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  211. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  212. data/lib/sentdm/models/contact_response.rb +0 -126
  213. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  214. data/lib/sentdm/models/error_detail.rb +0 -42
  215. data/lib/sentdm/models/mutation_request.rb +0 -20
  216. data/lib/sentdm/models/pagination_meta.rb +0 -80
  217. data/lib/sentdm/models/payment_details.rb +0 -44
  218. data/lib/sentdm/models/profile_detail.rb +0 -597
  219. data/lib/sentdm/models/profile_settings.rb +0 -66
  220. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  221. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  222. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  223. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  224. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  225. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  226. data/lib/sentdm/models/template.rb +0 -90
  227. data/lib/sentdm/models/user_response.rb +0 -82
  228. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  229. data/lib/sentdm/models/webhook_response.rb +0 -95
  230. data/rbi/sentdm/models/api_meta.rbi +0 -55
  231. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  232. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  233. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  234. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  235. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  236. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  237. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  238. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  239. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  240. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  241. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  242. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  243. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  244. data/rbi/sentdm/models/contact_response.rbi +0 -183
  245. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  246. data/rbi/sentdm/models/error_detail.rbi +0 -66
  247. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  248. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  249. data/rbi/sentdm/models/payment_details.rbi +0 -59
  250. data/rbi/sentdm/models/profile_detail.rbi +0 -866
  251. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  252. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  253. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  254. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  255. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  256. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  257. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  258. data/rbi/sentdm/models/template.rbi +0 -129
  259. data/rbi/sentdm/models/user_response.rbi +0 -118
  260. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  261. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  262. data/sig/sentdm/models/api_meta.rbs +0 -27
  263. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  264. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  265. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  268. data/sig/sentdm/models/api_response_template.rbs +0 -39
  269. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  270. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  271. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  272. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  273. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  274. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  275. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  276. data/sig/sentdm/models/contact_response.rbs +0 -111
  277. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  278. data/sig/sentdm/models/error_detail.rbs +0 -39
  279. data/sig/sentdm/models/mutation_request.rbs +0 -15
  280. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  281. data/sig/sentdm/models/payment_details.rbs +0 -30
  282. data/sig/sentdm/models/profile_detail.rbs +0 -469
  283. data/sig/sentdm/models/profile_settings.rbs +0 -50
  284. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  285. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  286. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  287. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  288. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  289. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  290. data/sig/sentdm/models/template.rbs +0 -79
  291. data/sig/sentdm/models/user_response.rbs +0 -72
  292. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  293. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -0,0 +1,762 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Profiles#retrieve
6
+ class ProfileRetrieveResponse < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Detailed profile response for v3 API
9
+ #
10
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ProfileRetrieveResponse::Data }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error information
15
+ #
16
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Error, nil]
17
+ optional :error, -> { Sentdm::Models::ProfileRetrieveResponse::Error }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Request and response metadata
21
+ #
22
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Meta, nil]
23
+ optional :meta, -> { Sentdm::Models::ProfileRetrieveResponse::Meta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ProfileRetrieveResponse::Data, nil] Detailed profile response for v3 API
35
+ #
36
+ # @param error [Sentdm::Models::ProfileRetrieveResponse::Error, nil] Error information
37
+ #
38
+ # @param meta [Sentdm::Models::ProfileRetrieveResponse::Meta] Request and response metadata
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+
42
+ # @see Sentdm::Models::ProfileRetrieveResponse#data
43
+ class Data < Sentdm::Internal::Type::BaseModel
44
+ # @!attribute id
45
+ # Profile unique identifier
46
+ #
47
+ # @return [String, nil]
48
+ optional :id, String
49
+
50
+ # @!attribute allow_contact_sharing
51
+ # @deprecated
52
+ #
53
+ # Always false. A profile no longer shares contacts with sibling profiles — it
54
+ # sees only what it owns. Retained so existing v3 clients reading
55
+ # allow_contact_sharing keep deserializing; it carries no information.
56
+ #
57
+ # @return [Boolean, nil]
58
+ optional :allow_contact_sharing, Sentdm::Internal::Type::Boolean, nil?: true
59
+
60
+ # @!attribute allow_number_change_during_onboarding
61
+ # Whether number changes are allowed during onboarding
62
+ #
63
+ # @return [Boolean, nil]
64
+ optional :allow_number_change_during_onboarding, Sentdm::Internal::Type::Boolean, nil?: true
65
+
66
+ # @!attribute allow_template_sharing
67
+ # @deprecated
68
+ #
69
+ # Always false. A profile no longer shares templates with sibling profiles.
70
+ # Retained so existing v3 clients reading allow_template_sharing keep
71
+ # deserializing; it carries no information.
72
+ #
73
+ # @return [Boolean, nil]
74
+ optional :allow_template_sharing, Sentdm::Internal::Type::Boolean, nil?: true
75
+
76
+ # @!attribute billing_contact
77
+ # Billing contact info returned in profile responses
78
+ #
79
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact, nil]
80
+ optional :billing_contact,
81
+ -> { Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact },
82
+ nil?: true
83
+
84
+ # @!attribute billing_model
85
+ # Billing model: profile, organization, or profile_and_organization
86
+ #
87
+ # @return [String, nil]
88
+ optional :billing_model, String
89
+
90
+ # @!attribute brand
91
+ # Brand response with nested contact, business, and compliance sections — mirrors
92
+ # the request structure.
93
+ #
94
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Data::Brand, nil]
95
+ optional :brand, -> { Sentdm::Models::ProfileRetrieveResponse::Data::Brand }, nil?: true
96
+
97
+ # @!attribute created_at
98
+ # When the profile was created
99
+ #
100
+ # @return [Time, nil]
101
+ optional :created_at, Time
102
+
103
+ # @!attribute description
104
+ # Profile description
105
+ #
106
+ # @return [String, nil]
107
+ optional :description, String, nil?: true
108
+
109
+ # @!attribute email
110
+ # Profile email (inherited from organization)
111
+ #
112
+ # @return [String, nil]
113
+ optional :email, String, nil?: true
114
+
115
+ # @!attribute icon
116
+ # Profile icon URL
117
+ #
118
+ # @return [String, nil]
119
+ optional :icon, String, nil?: true
120
+
121
+ # @!attribute inherit_contacts
122
+ # @deprecated
123
+ #
124
+ # Always false. A profile no longer inherits its organization's contacts. Retained
125
+ # so existing v3 clients reading inherit_contacts keep deserializing; it carries
126
+ # no information.
127
+ #
128
+ # @return [Boolean, nil]
129
+ optional :inherit_contacts, Sentdm::Internal::Type::Boolean, nil?: true
130
+
131
+ # @!attribute inherit_tcr_brand
132
+ # Whether this profile inherits TCR brand from the organization
133
+ #
134
+ # @return [Boolean, nil]
135
+ optional :inherit_tcr_brand, Sentdm::Internal::Type::Boolean
136
+
137
+ # @!attribute inherit_tcr_campaign
138
+ # Whether this profile inherits TCR campaign from the organization
139
+ #
140
+ # @return [Boolean, nil]
141
+ optional :inherit_tcr_campaign, Sentdm::Internal::Type::Boolean
142
+
143
+ # @!attribute inherit_templates
144
+ # @deprecated
145
+ #
146
+ # Always false. A profile no longer inherits its organization's templates.
147
+ # Retained so existing v3 clients reading inherit_templates keep deserializing; it
148
+ # carries no information.
149
+ #
150
+ # @return [Boolean, nil]
151
+ optional :inherit_templates, Sentdm::Internal::Type::Boolean, nil?: true
152
+
153
+ # @!attribute name
154
+ # Profile name
155
+ #
156
+ # @return [String, nil]
157
+ optional :name, String
158
+
159
+ # @!attribute organization_id
160
+ # Parent organization ID
161
+ #
162
+ # @return [String, nil]
163
+ optional :organization_id, String, nil?: true
164
+
165
+ # @!attribute sending_phone_number
166
+ # Direct SMS phone number
167
+ #
168
+ # @return [String, nil]
169
+ optional :sending_phone_number, String, nil?: true
170
+
171
+ # @!attribute sending_phone_number_profile_id
172
+ # @deprecated
173
+ #
174
+ # Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
175
+ # another profile for its SMS sender, and every profile owns the sender it sends
176
+ # from.
177
+ #
178
+ # Kept on the wire, and never populated, because those are two different promises.
179
+ # Removing the key changes the response's shape — a generated client loses the
180
+ # property and stops compiling on the next regenerate, for a value that is now
181
+ # null for every profile in existence. Keeping it null costs a key and breaks
182
+ # nobody, and null is the honest answer rather than a placeholder: there is no
183
+ # borrowing left to report.
184
+ #
185
+ # Nothing could populate it. Migration 260813161500 dropped the column and copied
186
+ # each borrower its own channel-provider row; its Down() says outright that the
187
+ # borrower-to-lender pairing is not recoverable. The only surviving trace is a
188
+ # notes string on the copied row.
189
+ #
190
+ # @return [String, nil]
191
+ optional :sending_phone_number_profile_id, String, nil?: true
192
+
193
+ # @!attribute sending_whatsapp_number_profile_id
194
+ # @deprecated
195
+ #
196
+ # @return [String, nil]
197
+ optional :sending_whatsapp_number_profile_id, String, nil?: true
198
+
199
+ # @!attribute short_name
200
+ # Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
201
+ # only, with at least one letter.
202
+ #
203
+ # @return [String, nil]
204
+ optional :short_name, String, nil?: true
205
+
206
+ # @!attribute status
207
+ # Profile setup status: incomplete, pending_review, approved, rejected
208
+ #
209
+ # @return [String, nil]
210
+ optional :status, String
211
+
212
+ # @!attribute updated_at
213
+ # When the profile was last updated
214
+ #
215
+ # @return [Time, nil]
216
+ optional :updated_at, Time, nil?: true
217
+
218
+ # @!attribute waba_id
219
+ # WhatsApp Business Account ID associated with this profile. Present whether the
220
+ # WABA is inherited from the organization or configured directly.
221
+ #
222
+ # @return [String, nil]
223
+ optional :waba_id, String, nil?: true
224
+
225
+ # @!attribute whatsapp_phone_number
226
+ # Direct WhatsApp phone number
227
+ #
228
+ # @return [String, nil]
229
+ optional :whatsapp_phone_number, String, nil?: true
230
+
231
+ # @!method initialize(id: nil, allow_contact_sharing: nil, allow_number_change_during_onboarding: nil, allow_template_sharing: nil, billing_contact: nil, billing_model: nil, brand: nil, created_at: nil, description: nil, email: nil, icon: nil, inherit_contacts: nil, inherit_tcr_brand: nil, inherit_tcr_campaign: nil, inherit_templates: nil, name: nil, organization_id: nil, sending_phone_number: nil, sending_phone_number_profile_id: nil, sending_whatsapp_number_profile_id: nil, short_name: nil, status: nil, updated_at: nil, waba_id: nil, whatsapp_phone_number: nil)
232
+ # Some parameter documentations has been truncated, see
233
+ # {Sentdm::Models::ProfileRetrieveResponse::Data} for more details.
234
+ #
235
+ # Detailed profile response for v3 API
236
+ #
237
+ # @param id [String] Profile unique identifier
238
+ #
239
+ # @param allow_contact_sharing [Boolean, nil] Always false. A profile no longer shares contacts with sibling profiles — it see
240
+ #
241
+ # @param allow_number_change_during_onboarding [Boolean, nil] Whether number changes are allowed during onboarding
242
+ #
243
+ # @param allow_template_sharing [Boolean, nil] Always false. A profile no longer shares templates with sibling profiles. Retain
244
+ #
245
+ # @param billing_contact [Sentdm::Models::ProfileRetrieveResponse::Data::BillingContact, nil] Billing contact info returned in profile responses
246
+ #
247
+ # @param billing_model [String] Billing model: profile, organization, or profile_and_organization
248
+ #
249
+ # @param brand [Sentdm::Models::ProfileRetrieveResponse::Data::Brand, nil] Brand response with nested contact, business, and compliance sections — mirrors
250
+ #
251
+ # @param created_at [Time] When the profile was created
252
+ #
253
+ # @param description [String, nil] Profile description
254
+ #
255
+ # @param email [String, nil] Profile email (inherited from organization)
256
+ #
257
+ # @param icon [String, nil] Profile icon URL
258
+ #
259
+ # @param inherit_contacts [Boolean, nil] Always false. A profile no longer inherits its organization's contacts. Retained
260
+ #
261
+ # @param inherit_tcr_brand [Boolean] Whether this profile inherits TCR brand from the organization
262
+ #
263
+ # @param inherit_tcr_campaign [Boolean] Whether this profile inherits TCR campaign from the organization
264
+ #
265
+ # @param inherit_templates [Boolean, nil] Always false. A profile no longer inherits its organization's templates. Retaine
266
+ #
267
+ # @param name [String] Profile name
268
+ #
269
+ # @param organization_id [String, nil] Parent organization ID
270
+ #
271
+ # @param sending_phone_number [String, nil] Direct SMS phone number
272
+ #
273
+ # @param sending_phone_number_profile_id [String, nil] Deprecated. Always null. Sender borrowing is gone: a profile no longer points at
274
+ #
275
+ # @param sending_whatsapp_number_profile_id [String, nil]
276
+ #
277
+ # @param short_name [String, nil] Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces o
278
+ #
279
+ # @param status [String] Profile setup status: incomplete, pending_review, approved, rejected
280
+ #
281
+ # @param updated_at [Time, nil] When the profile was last updated
282
+ #
283
+ # @param waba_id [String, nil] WhatsApp Business Account ID associated with this profile.
284
+ #
285
+ # @param whatsapp_phone_number [String, nil] Direct WhatsApp phone number
286
+
287
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data#billing_contact
288
+ class BillingContact < Sentdm::Internal::Type::BaseModel
289
+ # @!attribute address
290
+ #
291
+ # @return [String, nil]
292
+ optional :address, String, nil?: true
293
+
294
+ # @!attribute email
295
+ #
296
+ # @return [String, nil]
297
+ optional :email, String, nil?: true
298
+
299
+ # @!attribute name
300
+ #
301
+ # @return [String, nil]
302
+ optional :name, String, nil?: true
303
+
304
+ # @!attribute phone
305
+ #
306
+ # @return [String, nil]
307
+ optional :phone, String, nil?: true
308
+
309
+ # @!method initialize(address: nil, email: nil, name: nil, phone: nil)
310
+ # Billing contact info returned in profile responses
311
+ #
312
+ # @param address [String, nil]
313
+ # @param email [String, nil]
314
+ # @param name [String, nil]
315
+ # @param phone [String, nil]
316
+ end
317
+
318
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data#brand
319
+ class Brand < Sentdm::Internal::Type::BaseModel
320
+ # @!attribute id
321
+ # Unique identifier for the brand
322
+ #
323
+ # @return [String, nil]
324
+ optional :id, String
325
+
326
+ # @!attribute business
327
+ # Business details and address information
328
+ #
329
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business, nil]
330
+ optional :business, -> { Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business }, nil?: true
331
+
332
+ # @!attribute compliance
333
+ # Compliance and TCR-related information
334
+ #
335
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance, nil]
336
+ optional :compliance, -> { Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance }, nil?: true
337
+
338
+ # @!attribute contact
339
+ # Contact information for the brand
340
+ #
341
+ # @return [Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact, nil]
342
+ optional :contact, -> { Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact }, nil?: true
343
+
344
+ # @!attribute created_at
345
+ # When the brand was created
346
+ #
347
+ # @return [Time, nil]
348
+ optional :created_at, Time
349
+
350
+ # @!attribute csp_id
351
+ # @deprecated
352
+ #
353
+ # Deprecated and scheduled for removal. Identifies the Campaign Service Provider
354
+ # that registered the brand, which is Sent, so the value is the same for every
355
+ # brand and every account. Nothing on your side can act on it and there is no
356
+ # replacement. Stop reading it.
357
+ #
358
+ # @return [String, nil]
359
+ optional :csp_id, String, nil?: true
360
+
361
+ # @!attribute identity_status
362
+ #
363
+ # @return [Symbol, Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus, nil]
364
+ optional :identity_status,
365
+ enum: -> { Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus },
366
+ nil?: true
367
+
368
+ # @!attribute is_inherited
369
+ # Whether this brand is inherited from the parent organization
370
+ #
371
+ # @return [Boolean, nil]
372
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
373
+
374
+ # @!attribute status
375
+ #
376
+ # @return [Symbol, Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status, nil]
377
+ optional :status, enum: -> { Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status }, nil?: true
378
+
379
+ # @!attribute submitted_at
380
+ # When the brand was submitted to TCR
381
+ #
382
+ # @return [Time, nil]
383
+ optional :submitted_at, Time, nil?: true
384
+
385
+ # @!attribute submitted_to_tcr
386
+ # Whether this brand has been submitted to TCR
387
+ #
388
+ # @return [Boolean, nil]
389
+ optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean
390
+
391
+ # @!attribute tcr_brand_id
392
+ # TCR brand ID (populated after TCR submission)
393
+ #
394
+ # @return [String, nil]
395
+ optional :tcr_brand_id, String, nil?: true
396
+
397
+ # @!attribute universal_ein
398
+ # Universal EIN from TCR
399
+ #
400
+ # @return [String, nil]
401
+ optional :universal_ein, String, nil?: true
402
+
403
+ # @!attribute updated_at
404
+ # When the brand was last updated
405
+ #
406
+ # @return [Time, nil]
407
+ optional :updated_at, Time, nil?: true
408
+
409
+ # @!method initialize(id: nil, business: nil, compliance: nil, contact: nil, created_at: nil, csp_id: nil, identity_status: nil, is_inherited: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_brand_id: nil, universal_ein: nil, updated_at: nil)
410
+ # Some parameter documentations has been truncated, see
411
+ # {Sentdm::Models::ProfileRetrieveResponse::Data::Brand} for more details.
412
+ #
413
+ # Brand response with nested contact, business, and compliance sections — mirrors
414
+ # the request structure.
415
+ #
416
+ # @param id [String] Unique identifier for the brand
417
+ #
418
+ # @param business [Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Business, nil] Business details and address information
419
+ #
420
+ # @param compliance [Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance, nil] Compliance and TCR-related information
421
+ #
422
+ # @param contact [Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Contact, nil] Contact information for the brand
423
+ #
424
+ # @param created_at [Time] When the brand was created
425
+ #
426
+ # @param csp_id [String, nil] Deprecated and scheduled for removal. Identifies the Campaign Service Provider t
427
+ #
428
+ # @param identity_status [Symbol, Sentdm::Models::ProfileRetrieveResponse::Data::Brand::IdentityStatus, nil]
429
+ #
430
+ # @param is_inherited [Boolean] Whether this brand is inherited from the parent organization
431
+ #
432
+ # @param status [Symbol, Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Status, nil]
433
+ #
434
+ # @param submitted_at [Time, nil] When the brand was submitted to TCR
435
+ #
436
+ # @param submitted_to_tcr [Boolean] Whether this brand has been submitted to TCR
437
+ #
438
+ # @param tcr_brand_id [String, nil] TCR brand ID (populated after TCR submission)
439
+ #
440
+ # @param universal_ein [String, nil] Universal EIN from TCR
441
+ #
442
+ # @param updated_at [Time, nil] When the brand was last updated
443
+
444
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data::Brand#business
445
+ class Business < Sentdm::Internal::Type::BaseModel
446
+ # @!attribute city
447
+ # City
448
+ #
449
+ # @return [String, nil]
450
+ optional :city, String, nil?: true
451
+
452
+ # @!attribute country
453
+ # Country code (e.g., US, CA)
454
+ #
455
+ # @return [String, nil]
456
+ optional :country, String, nil?: true
457
+
458
+ # @!attribute country_of_registration
459
+ # Country where the business is registered
460
+ #
461
+ # @return [String, nil]
462
+ optional :country_of_registration, String, nil?: true
463
+
464
+ # @!attribute entity_type
465
+ # Business entity type
466
+ #
467
+ # @return [String, nil]
468
+ optional :entity_type, String, nil?: true
469
+
470
+ # @!attribute legal_name
471
+ # Legal business name
472
+ #
473
+ # @return [String, nil]
474
+ optional :legal_name, String, nil?: true
475
+
476
+ # @!attribute postal_code
477
+ # Postal/ZIP code
478
+ #
479
+ # @return [String, nil]
480
+ optional :postal_code, String, nil?: true
481
+
482
+ # @!attribute state
483
+ # State/province code
484
+ #
485
+ # @return [String, nil]
486
+ optional :state, String, nil?: true
487
+
488
+ # @!attribute street
489
+ # Street address
490
+ #
491
+ # @return [String, nil]
492
+ optional :street, String, nil?: true
493
+
494
+ # @!attribute tax_id
495
+ # Tax ID/EIN number
496
+ #
497
+ # @return [String, nil]
498
+ optional :tax_id, String, nil?: true
499
+
500
+ # @!attribute tax_id_type
501
+ # Type of tax ID (e.g., us_ein, ca_bn)
502
+ #
503
+ # @return [String, nil]
504
+ optional :tax_id_type, String, nil?: true
505
+
506
+ # @!attribute url
507
+ # Business website URL
508
+ #
509
+ # @return [String, nil]
510
+ optional :url, String, nil?: true
511
+
512
+ # @!method initialize(city: nil, country: nil, country_of_registration: nil, entity_type: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, url: nil)
513
+ # Business details and address information
514
+ #
515
+ # @param city [String, nil] City
516
+ #
517
+ # @param country [String, nil] Country code (e.g., US, CA)
518
+ #
519
+ # @param country_of_registration [String, nil] Country where the business is registered
520
+ #
521
+ # @param entity_type [String, nil] Business entity type
522
+ #
523
+ # @param legal_name [String, nil] Legal business name
524
+ #
525
+ # @param postal_code [String, nil] Postal/ZIP code
526
+ #
527
+ # @param state [String, nil] State/province code
528
+ #
529
+ # @param street [String, nil] Street address
530
+ #
531
+ # @param tax_id [String, nil] Tax ID/EIN number
532
+ #
533
+ # @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
534
+ #
535
+ # @param url [String, nil] Business website URL
536
+ end
537
+
538
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data::Brand#compliance
539
+ class Compliance < Sentdm::Internal::Type::BaseModel
540
+ # @!attribute brand_relationship
541
+ #
542
+ # @return [Symbol, Sentdm::Models::TcrBrandRelationship, nil]
543
+ optional :brand_relationship, enum: -> { Sentdm::TcrBrandRelationship }, nil?: true
544
+
545
+ # @!attribute destination_countries
546
+ # List of destination countries for messaging
547
+ #
548
+ # @return [Array<Sentdm::Models::DestinationCountry>, nil]
549
+ optional :destination_countries, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] }
550
+
551
+ # @!attribute is_tcr_application
552
+ # Whether this is a TCR (Campaign Registry) application
553
+ #
554
+ # @return [Boolean, nil]
555
+ optional :is_tcr_application, Sentdm::Internal::Type::Boolean
556
+
557
+ # @!attribute notes
558
+ # Additional notes about the business or use case
559
+ #
560
+ # @return [String, nil]
561
+ optional :notes, String, nil?: true
562
+
563
+ # @!attribute phone_number_prefix
564
+ # Phone number prefix for messaging (e.g., "+1")
565
+ #
566
+ # @return [String, nil]
567
+ optional :phone_number_prefix, String, nil?: true
568
+
569
+ # @!attribute primary_use_case
570
+ # @deprecated
571
+ #
572
+ # Always null. The brand's free-text primary use case is no longer stored: it
573
+ # reached neither TCR nor any decision, and its column is dropped with no
574
+ # backfill, because the values were prose and the typed equivalent is the
575
+ # campaign's MessagingUseCaseUS.
576
+ #
577
+ # Retained so existing v3 clients reading primary_use_case keep deserializing.
578
+ # Unlike the profile sharing flags, which can answer false truthfully, there is no
579
+ # value to report here — the field is present and empty rather than present and
580
+ # wrong.
581
+ #
582
+ # @return [String, nil]
583
+ optional :primary_use_case, String, nil?: true
584
+
585
+ # @!attribute vertical
586
+ #
587
+ # @return [Symbol, Sentdm::Models::TcrVertical, nil]
588
+ optional :vertical, enum: -> { Sentdm::TcrVertical }, nil?: true
589
+
590
+ # @!method initialize(brand_relationship: nil, destination_countries: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil, vertical: nil)
591
+ # Some parameter documentations has been truncated, see
592
+ # {Sentdm::Models::ProfileRetrieveResponse::Data::Brand::Compliance} for more
593
+ # details.
594
+ #
595
+ # Compliance and TCR-related information
596
+ #
597
+ # @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship, nil]
598
+ #
599
+ # @param destination_countries [Array<Sentdm::Models::DestinationCountry>] List of destination countries for messaging
600
+ #
601
+ # @param is_tcr_application [Boolean] Whether this is a TCR (Campaign Registry) application
602
+ #
603
+ # @param notes [String, nil] Additional notes about the business or use case
604
+ #
605
+ # @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
606
+ #
607
+ # @param primary_use_case [String, nil] Always null. The brand's free-text primary use case is no longer stored: it reac
608
+ #
609
+ # @param vertical [Symbol, Sentdm::Models::TcrVertical, nil]
610
+ end
611
+
612
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data::Brand#contact
613
+ class Contact < Sentdm::Internal::Type::BaseModel
614
+ # @!attribute business_name
615
+ # Business/brand name
616
+ #
617
+ # @return [String, nil]
618
+ optional :business_name, String, nil?: true
619
+
620
+ # @!attribute email
621
+ # Contact email address
622
+ #
623
+ # @return [String, nil]
624
+ optional :email, String, nil?: true
625
+
626
+ # @!attribute name
627
+ # Primary contact name
628
+ #
629
+ # @return [String, nil]
630
+ optional :name, String
631
+
632
+ # @!attribute phone
633
+ # Contact phone number in E.164 format
634
+ #
635
+ # @return [String, nil]
636
+ optional :phone, String, nil?: true
637
+
638
+ # @!attribute phone_country_code
639
+ # Contact phone country code (e.g., "1" for US)
640
+ #
641
+ # @return [String, nil]
642
+ optional :phone_country_code, String, nil?: true
643
+
644
+ # @!attribute role
645
+ # Contact's role in the business
646
+ #
647
+ # @return [String, nil]
648
+ optional :role, String, nil?: true
649
+
650
+ # @!method initialize(business_name: nil, email: nil, name: nil, phone: nil, phone_country_code: nil, role: nil)
651
+ # Contact information for the brand
652
+ #
653
+ # @param business_name [String, nil] Business/brand name
654
+ #
655
+ # @param email [String, nil] Contact email address
656
+ #
657
+ # @param name [String] Primary contact name
658
+ #
659
+ # @param phone [String, nil] Contact phone number in E.164 format
660
+ #
661
+ # @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
662
+ #
663
+ # @param role [String, nil] Contact's role in the business
664
+ end
665
+
666
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data::Brand#identity_status
667
+ module IdentityStatus
668
+ extend Sentdm::Internal::Type::Enum
669
+
670
+ SELF_DECLARED = :SELF_DECLARED
671
+ UNVERIFIED = :UNVERIFIED
672
+ VERIFIED = :VERIFIED
673
+ VETTED_VERIFIED = :VETTED_VERIFIED
674
+
675
+ # @!method self.values
676
+ # @return [Array<Symbol>]
677
+ end
678
+
679
+ # @see Sentdm::Models::ProfileRetrieveResponse::Data::Brand#status
680
+ module Status
681
+ extend Sentdm::Internal::Type::Enum
682
+
683
+ ACTIVE = :ACTIVE
684
+ INACTIVE = :INACTIVE
685
+ SUSPENDED = :SUSPENDED
686
+
687
+ # @!method self.values
688
+ # @return [Array<Symbol>]
689
+ end
690
+ end
691
+ end
692
+
693
+ # @see Sentdm::Models::ProfileRetrieveResponse#error
694
+ class Error < Sentdm::Internal::Type::BaseModel
695
+ # @!attribute code
696
+ # Machine-readable error code (e.g., "RESOURCE_001")
697
+ #
698
+ # @return [String, nil]
699
+ optional :code, String
700
+
701
+ # @!attribute details
702
+ # Additional validation error details (field-level errors)
703
+ #
704
+ # @return [Hash{Symbol=>Array<String>}, nil]
705
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
706
+
707
+ # @!attribute doc_url
708
+ # URL to documentation about this error
709
+ #
710
+ # @return [String, nil]
711
+ optional :doc_url, String, nil?: true
712
+
713
+ # @!attribute message
714
+ # Human-readable error message
715
+ #
716
+ # @return [String, nil]
717
+ optional :message, String
718
+
719
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
720
+ # Error information
721
+ #
722
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
723
+ #
724
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
725
+ #
726
+ # @param doc_url [String, nil] URL to documentation about this error
727
+ #
728
+ # @param message [String] Human-readable error message
729
+ end
730
+
731
+ # @see Sentdm::Models::ProfileRetrieveResponse#meta
732
+ class Meta < Sentdm::Internal::Type::BaseModel
733
+ # @!attribute request_id
734
+ # Unique identifier for this request (for tracing and support)
735
+ #
736
+ # @return [String, nil]
737
+ optional :request_id, String
738
+
739
+ # @!attribute timestamp
740
+ # Server timestamp when the response was generated
741
+ #
742
+ # @return [Time, nil]
743
+ optional :timestamp, Time
744
+
745
+ # @!attribute version
746
+ # API version used for this request
747
+ #
748
+ # @return [String, nil]
749
+ optional :version, String
750
+
751
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
752
+ # Request and response metadata
753
+ #
754
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
755
+ #
756
+ # @param timestamp [Time] Server timestamp when the response was generated
757
+ #
758
+ # @param version [String] API version used for this request
759
+ end
760
+ end
761
+ end
762
+ end