sentdm 0.27.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 (275) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -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/me_retrieve_response.rb +242 -12
  15. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  16. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  17. data/lib/sentdm/models/message_send_response.rb +113 -28
  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 +378 -26
  21. data/lib/sentdm/models/profile_create_response.rb +760 -0
  22. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  23. data/lib/sentdm/models/profile_list_response.rb +825 -14
  24. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  25. data/lib/sentdm/models/profile_update_params.rb +391 -24
  26. data/lib/sentdm/models/profile_update_response.rb +760 -0
  27. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  28. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  29. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  30. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  31. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  33. data/lib/sentdm/models/template_create_response.rb +209 -0
  34. data/lib/sentdm/models/template_list_params.rb +9 -2
  35. data/lib/sentdm/models/template_list_response.rb +262 -16
  36. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  37. data/lib/sentdm/models/template_update_response.rb +209 -0
  38. data/lib/sentdm/models/user_invite_response.rb +201 -0
  39. data/lib/sentdm/models/user_list_response.rb +259 -14
  40. data/lib/sentdm/models/user_remove_params.rb +16 -2
  41. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  42. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  43. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  44. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  45. data/lib/sentdm/models/webhook_list_events_response.rb +162 -13
  46. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  47. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  48. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  49. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  50. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  51. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  52. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  53. data/lib/sentdm/models.rb +0 -52
  54. data/lib/sentdm/resources/contacts.rb +30 -13
  55. data/lib/sentdm/resources/conversations.rb +12 -4
  56. data/lib/sentdm/resources/me.rb +6 -1
  57. data/lib/sentdm/resources/messages.rb +11 -1
  58. data/lib/sentdm/resources/numbers.rb +6 -1
  59. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  60. data/lib/sentdm/resources/profiles.rb +134 -58
  61. data/lib/sentdm/resources/templates.rb +14 -8
  62. data/lib/sentdm/resources/users.rb +12 -7
  63. data/lib/sentdm/resources/webhooks.rb +19 -9
  64. data/lib/sentdm/version.rb +1 -1
  65. data/lib/sentdm.rb +22 -32
  66. data/rbi/sentdm/client.rbi +71 -8
  67. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  68. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  69. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  70. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  71. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  72. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  73. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  74. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  75. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  76. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  77. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  78. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  79. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  80. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  81. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  82. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  83. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  84. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  85. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  86. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  87. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  88. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  89. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  90. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  91. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  92. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  93. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  94. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  95. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  96. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  97. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  98. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  99. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  100. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  101. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  102. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  103. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  104. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  105. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  106. data/rbi/sentdm/models/webhook_list_events_response.rbi +319 -15
  107. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  108. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  109. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  110. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  111. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  112. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  113. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  114. data/rbi/sentdm/models.rbi +0 -54
  115. data/rbi/sentdm/resources/contacts.rbi +24 -9
  116. data/rbi/sentdm/resources/conversations.rbi +10 -2
  117. data/rbi/sentdm/resources/me.rbi +6 -1
  118. data/rbi/sentdm/resources/messages.rbi +11 -1
  119. data/rbi/sentdm/resources/numbers.rbi +6 -1
  120. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  121. data/rbi/sentdm/resources/profiles.rbi +174 -66
  122. data/rbi/sentdm/resources/templates.rbi +15 -5
  123. data/rbi/sentdm/resources/users.rbi +9 -4
  124. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  125. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  126. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  127. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  128. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  129. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  130. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  131. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  132. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  133. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  135. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  136. data/sig/sentdm/models/message_send_response.rbs +71 -9
  137. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  138. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  139. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  140. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  141. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  142. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  143. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  144. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  145. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  146. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  147. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  148. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  149. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  150. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  151. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  152. data/sig/sentdm/models/template_create_response.rbs +182 -0
  153. data/sig/sentdm/models/template_list_response.rbs +230 -19
  154. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  155. data/sig/sentdm/models/template_update_response.rbs +182 -0
  156. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  157. data/sig/sentdm/models/user_list_response.rbs +233 -15
  158. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  159. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  160. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  161. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  162. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  163. data/sig/sentdm/models/webhook_list_events_response.rbs +142 -14
  164. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  165. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  166. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  167. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  168. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  169. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  170. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  171. data/sig/sentdm/models.rbs +0 -52
  172. data/sig/sentdm/resources/contacts.rbs +4 -4
  173. data/sig/sentdm/resources/conversations.rbs +2 -2
  174. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  175. data/sig/sentdm/resources/profiles.rbs +11 -11
  176. data/sig/sentdm/resources/templates.rbs +3 -3
  177. data/sig/sentdm/resources/users.rbs +3 -3
  178. data/sig/sentdm/resources/webhooks.rbs +4 -4
  179. metadata +68 -98
  180. data/lib/sentdm/models/api_meta.rb +0 -34
  181. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  182. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  183. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  184. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  185. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  186. data/lib/sentdm/models/api_response_template.rb +0 -43
  187. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  188. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  189. data/lib/sentdm/models/brand_business_info.rb +0 -114
  190. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  191. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  192. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  193. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  194. data/lib/sentdm/models/contact_response.rb +0 -126
  195. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  196. data/lib/sentdm/models/error_detail.rb +0 -42
  197. data/lib/sentdm/models/mutation_request.rb +0 -20
  198. data/lib/sentdm/models/pagination_meta.rb +0 -80
  199. data/lib/sentdm/models/payment_details.rb +0 -44
  200. data/lib/sentdm/models/profile_detail.rb +0 -605
  201. data/lib/sentdm/models/profile_settings.rb +0 -66
  202. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  203. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  204. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  205. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  206. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  207. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  208. data/lib/sentdm/models/template.rb +0 -90
  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_contact_message_summary.rbi +0 -79
  215. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  216. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  217. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  218. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  219. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  220. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  221. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  222. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  223. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  224. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  225. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  226. data/rbi/sentdm/models/contact_response.rbi +0 -183
  227. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  228. data/rbi/sentdm/models/error_detail.rbi +0 -66
  229. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  230. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  231. data/rbi/sentdm/models/payment_details.rbi +0 -59
  232. data/rbi/sentdm/models/profile_detail.rbi +0 -872
  233. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  234. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  235. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  236. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  237. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  238. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  239. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  240. data/rbi/sentdm/models/template.rbi +0 -129
  241. data/rbi/sentdm/models/user_response.rbi +0 -118
  242. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  243. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  244. data/sig/sentdm/models/api_meta.rbs +0 -27
  245. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  246. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  247. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  248. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  249. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  250. data/sig/sentdm/models/api_response_template.rbs +0 -39
  251. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  252. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  253. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  254. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  255. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  256. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  257. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  258. data/sig/sentdm/models/contact_response.rbs +0 -111
  259. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  260. data/sig/sentdm/models/error_detail.rbs +0 -39
  261. data/sig/sentdm/models/mutation_request.rbs +0 -15
  262. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  263. data/sig/sentdm/models/payment_details.rbs +0 -30
  264. data/sig/sentdm/models/profile_detail.rbs +0 -469
  265. data/sig/sentdm/models/profile_settings.rbs +0 -50
  266. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  267. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  268. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  269. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  270. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  271. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  272. data/sig/sentdm/models/template.rbs +0 -79
  273. data/sig/sentdm/models/user_response.rbs +0 -72
  274. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  275. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -0,0 +1,336 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class UserInviteResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::Models::UserInviteResponse, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # User response for v3 API
12
+ sig { returns(T.nilable(Sentdm::Models::UserInviteResponse::Data)) }
13
+ attr_reader :data
14
+
15
+ sig do
16
+ params(
17
+ data: T.nilable(Sentdm::Models::UserInviteResponse::Data::OrHash)
18
+ ).void
19
+ end
20
+ attr_writer :data
21
+
22
+ # Error information
23
+ sig { returns(T.nilable(Sentdm::Models::UserInviteResponse::Error)) }
24
+ attr_reader :error
25
+
26
+ sig do
27
+ params(
28
+ error: T.nilable(Sentdm::Models::UserInviteResponse::Error::OrHash)
29
+ ).void
30
+ end
31
+ attr_writer :error
32
+
33
+ # Request and response metadata
34
+ sig { returns(T.nilable(Sentdm::Models::UserInviteResponse::Meta)) }
35
+ attr_reader :meta
36
+
37
+ sig do
38
+ params(meta: Sentdm::Models::UserInviteResponse::Meta::OrHash).void
39
+ end
40
+ attr_writer :meta
41
+
42
+ # Indicates whether the request was successful
43
+ sig { returns(T.nilable(T::Boolean)) }
44
+ attr_reader :success
45
+
46
+ sig { params(success: T::Boolean).void }
47
+ attr_writer :success
48
+
49
+ # Standard API response envelope for all v3 endpoints
50
+ sig do
51
+ params(
52
+ data: T.nilable(Sentdm::Models::UserInviteResponse::Data::OrHash),
53
+ error: T.nilable(Sentdm::Models::UserInviteResponse::Error::OrHash),
54
+ meta: Sentdm::Models::UserInviteResponse::Meta::OrHash,
55
+ success: T::Boolean
56
+ ).returns(T.attached_class)
57
+ end
58
+ def self.new(
59
+ # User response for v3 API
60
+ data: nil,
61
+ # Error information
62
+ error: nil,
63
+ # Request and response metadata
64
+ meta: nil,
65
+ # Indicates whether the request was successful
66
+ success: nil
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ data: T.nilable(Sentdm::Models::UserInviteResponse::Data),
74
+ error: T.nilable(Sentdm::Models::UserInviteResponse::Error),
75
+ meta: Sentdm::Models::UserInviteResponse::Meta,
76
+ success: T::Boolean
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+
83
+ class Data < Sentdm::Internal::Type::BaseModel
84
+ OrHash =
85
+ T.type_alias do
86
+ T.any(
87
+ Sentdm::Models::UserInviteResponse::Data,
88
+ Sentdm::Internal::AnyHash
89
+ )
90
+ end
91
+
92
+ # User unique identifier
93
+ sig { returns(T.nilable(String)) }
94
+ attr_reader :id
95
+
96
+ sig { params(id: String).void }
97
+ attr_writer :id
98
+
99
+ # When the user was added to the organization
100
+ sig { returns(T.nilable(Time)) }
101
+ attr_reader :created_at
102
+
103
+ sig { params(created_at: Time).void }
104
+ attr_writer :created_at
105
+
106
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
107
+ # Says whose resource this is, which the resource's own id does not.
108
+ sig { returns(T.nilable(String)) }
109
+ attr_reader :customer_id
110
+
111
+ sig { params(customer_id: String).void }
112
+ attr_writer :customer_id
113
+
114
+ # User email address
115
+ sig { returns(T.nilable(String)) }
116
+ attr_reader :email
117
+
118
+ sig { params(email: String).void }
119
+ attr_writer :email
120
+
121
+ # When the user was invited
122
+ sig { returns(T.nilable(Time)) }
123
+ attr_accessor :invited_at
124
+
125
+ # When the user last logged in
126
+ sig { returns(T.nilable(Time)) }
127
+ attr_accessor :last_login_at
128
+
129
+ # User full name
130
+ sig { returns(T.nilable(String)) }
131
+ attr_reader :name
132
+
133
+ sig { params(name: String).void }
134
+ attr_writer :name
135
+
136
+ # User role in the organization: admin, billing, developer
137
+ sig { returns(T.nilable(String)) }
138
+ attr_reader :role
139
+
140
+ sig { params(role: String).void }
141
+ attr_writer :role
142
+
143
+ # User status: active, invited, suspended, rejected
144
+ sig { returns(T.nilable(String)) }
145
+ attr_reader :status
146
+
147
+ sig { params(status: String).void }
148
+ attr_writer :status
149
+
150
+ # When the user record was last updated
151
+ sig { returns(T.nilable(Time)) }
152
+ attr_accessor :updated_at
153
+
154
+ # User response for v3 API
155
+ sig do
156
+ params(
157
+ id: String,
158
+ created_at: Time,
159
+ customer_id: String,
160
+ email: String,
161
+ invited_at: T.nilable(Time),
162
+ last_login_at: T.nilable(Time),
163
+ name: String,
164
+ role: String,
165
+ status: String,
166
+ updated_at: T.nilable(Time)
167
+ ).returns(T.attached_class)
168
+ end
169
+ def self.new(
170
+ # User unique identifier
171
+ id: nil,
172
+ # When the user was added to the organization
173
+ created_at: nil,
174
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
175
+ # Says whose resource this is, which the resource's own id does not.
176
+ customer_id: nil,
177
+ # User email address
178
+ email: nil,
179
+ # When the user was invited
180
+ invited_at: nil,
181
+ # When the user last logged in
182
+ last_login_at: nil,
183
+ # User full name
184
+ name: nil,
185
+ # User role in the organization: admin, billing, developer
186
+ role: nil,
187
+ # User status: active, invited, suspended, rejected
188
+ status: nil,
189
+ # When the user record was last updated
190
+ updated_at: nil
191
+ )
192
+ end
193
+
194
+ sig do
195
+ override.returns(
196
+ {
197
+ id: String,
198
+ created_at: Time,
199
+ customer_id: String,
200
+ email: String,
201
+ invited_at: T.nilable(Time),
202
+ last_login_at: T.nilable(Time),
203
+ name: String,
204
+ role: String,
205
+ status: String,
206
+ updated_at: T.nilable(Time)
207
+ }
208
+ )
209
+ end
210
+ def to_hash
211
+ end
212
+ end
213
+
214
+ class Error < Sentdm::Internal::Type::BaseModel
215
+ OrHash =
216
+ T.type_alias do
217
+ T.any(
218
+ Sentdm::Models::UserInviteResponse::Error,
219
+ Sentdm::Internal::AnyHash
220
+ )
221
+ end
222
+
223
+ # Machine-readable error code (e.g., "RESOURCE_001")
224
+ sig { returns(T.nilable(String)) }
225
+ attr_reader :code
226
+
227
+ sig { params(code: String).void }
228
+ attr_writer :code
229
+
230
+ # Additional validation error details (field-level errors)
231
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
232
+ attr_accessor :details
233
+
234
+ # URL to documentation about this error
235
+ sig { returns(T.nilable(String)) }
236
+ attr_accessor :doc_url
237
+
238
+ # Human-readable error message
239
+ sig { returns(T.nilable(String)) }
240
+ attr_reader :message
241
+
242
+ sig { params(message: String).void }
243
+ attr_writer :message
244
+
245
+ # Error information
246
+ sig do
247
+ params(
248
+ code: String,
249
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
250
+ doc_url: T.nilable(String),
251
+ message: String
252
+ ).returns(T.attached_class)
253
+ end
254
+ def self.new(
255
+ # Machine-readable error code (e.g., "RESOURCE_001")
256
+ code: nil,
257
+ # Additional validation error details (field-level errors)
258
+ details: nil,
259
+ # URL to documentation about this error
260
+ doc_url: nil,
261
+ # Human-readable error message
262
+ message: nil
263
+ )
264
+ end
265
+
266
+ sig do
267
+ override.returns(
268
+ {
269
+ code: String,
270
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
271
+ doc_url: T.nilable(String),
272
+ message: String
273
+ }
274
+ )
275
+ end
276
+ def to_hash
277
+ end
278
+ end
279
+
280
+ class Meta < Sentdm::Internal::Type::BaseModel
281
+ OrHash =
282
+ T.type_alias do
283
+ T.any(
284
+ Sentdm::Models::UserInviteResponse::Meta,
285
+ Sentdm::Internal::AnyHash
286
+ )
287
+ end
288
+
289
+ # Unique identifier for this request (for tracing and support)
290
+ sig { returns(T.nilable(String)) }
291
+ attr_reader :request_id
292
+
293
+ sig { params(request_id: String).void }
294
+ attr_writer :request_id
295
+
296
+ # Server timestamp when the response was generated
297
+ sig { returns(T.nilable(Time)) }
298
+ attr_reader :timestamp
299
+
300
+ sig { params(timestamp: Time).void }
301
+ attr_writer :timestamp
302
+
303
+ # API version used for this request
304
+ sig { returns(T.nilable(String)) }
305
+ attr_reader :version
306
+
307
+ sig { params(version: String).void }
308
+ attr_writer :version
309
+
310
+ # Request and response metadata
311
+ sig do
312
+ params(request_id: String, timestamp: Time, version: String).returns(
313
+ T.attached_class
314
+ )
315
+ end
316
+ def self.new(
317
+ # Unique identifier for this request (for tracing and support)
318
+ request_id: nil,
319
+ # Server timestamp when the response was generated
320
+ timestamp: nil,
321
+ # API version used for this request
322
+ version: nil
323
+ )
324
+ end
325
+
326
+ sig do
327
+ override.returns(
328
+ { request_id: String, timestamp: Time, version: String }
329
+ )
330
+ end
331
+ def to_hash
332
+ end
333
+ end
334
+ end
335
+ end
336
+ end