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
@@ -8,7 +8,7 @@ module Sentdm
8
8
  T.any(Sentdm::Models::UserListResponse, Sentdm::Internal::AnyHash)
9
9
  end
10
10
 
11
- # List of users response
11
+ # The users in the organization.
12
12
  sig { returns(T.nilable(Sentdm::Models::UserListResponse::Data)) }
13
13
  attr_reader :data
14
14
 
@@ -20,17 +20,21 @@ module Sentdm
20
20
  attr_writer :data
21
21
 
22
22
  # Error information
23
- sig { returns(T.nilable(Sentdm::ErrorDetail)) }
23
+ sig { returns(T.nilable(Sentdm::Models::UserListResponse::Error)) }
24
24
  attr_reader :error
25
25
 
26
- sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
26
+ sig do
27
+ params(
28
+ error: T.nilable(Sentdm::Models::UserListResponse::Error::OrHash)
29
+ ).void
30
+ end
27
31
  attr_writer :error
28
32
 
29
33
  # Request and response metadata
30
- sig { returns(T.nilable(Sentdm::APIMeta)) }
34
+ sig { returns(T.nilable(Sentdm::Models::UserListResponse::Meta)) }
31
35
  attr_reader :meta
32
36
 
33
- sig { params(meta: Sentdm::APIMeta::OrHash).void }
37
+ sig { params(meta: Sentdm::Models::UserListResponse::Meta::OrHash).void }
34
38
  attr_writer :meta
35
39
 
36
40
  # Indicates whether the request was successful
@@ -44,13 +48,13 @@ module Sentdm
44
48
  sig do
45
49
  params(
46
50
  data: T.nilable(Sentdm::Models::UserListResponse::Data::OrHash),
47
- error: T.nilable(Sentdm::ErrorDetail::OrHash),
48
- meta: Sentdm::APIMeta::OrHash,
51
+ error: T.nilable(Sentdm::Models::UserListResponse::Error::OrHash),
52
+ meta: Sentdm::Models::UserListResponse::Meta::OrHash,
49
53
  success: T::Boolean
50
54
  ).returns(T.attached_class)
51
55
  end
52
56
  def self.new(
53
- # List of users response
57
+ # The users in the organization.
54
58
  data: nil,
55
59
  # Error information
56
60
  error: nil,
@@ -65,8 +69,8 @@ module Sentdm
65
69
  override.returns(
66
70
  {
67
71
  data: T.nilable(Sentdm::Models::UserListResponse::Data),
68
- error: T.nilable(Sentdm::ErrorDetail),
69
- meta: Sentdm::APIMeta,
72
+ error: T.nilable(Sentdm::Models::UserListResponse::Error),
73
+ meta: Sentdm::Models::UserListResponse::Meta,
70
74
  success: T::Boolean
71
75
  }
72
76
  )
@@ -83,26 +87,467 @@ module Sentdm
83
87
  )
84
88
  end
85
89
 
86
- # List of users in the organization
87
- sig { returns(T.nilable(T::Array[Sentdm::UserResponse])) }
90
+ # Pagination metadata for list responses
91
+ sig do
92
+ returns(T.nilable(Sentdm::Models::UserListResponse::Data::Pagination))
93
+ end
94
+ attr_reader :pagination
95
+
96
+ sig do
97
+ params(
98
+ pagination:
99
+ Sentdm::Models::UserListResponse::Data::Pagination::OrHash
100
+ ).void
101
+ end
102
+ attr_writer :pagination
103
+
104
+ # The users on this page.
105
+ sig do
106
+ returns(
107
+ T.nilable(T::Array[Sentdm::Models::UserListResponse::Data::User])
108
+ )
109
+ end
88
110
  attr_reader :users
89
111
 
90
- sig { params(users: T::Array[Sentdm::UserResponse::OrHash]).void }
112
+ sig do
113
+ params(
114
+ users:
115
+ T::Array[Sentdm::Models::UserListResponse::Data::User::OrHash]
116
+ ).void
117
+ end
91
118
  attr_writer :users
92
119
 
93
- # List of users response
120
+ # The users in the organization.
121
+ sig do
122
+ params(
123
+ pagination:
124
+ Sentdm::Models::UserListResponse::Data::Pagination::OrHash,
125
+ users:
126
+ T::Array[Sentdm::Models::UserListResponse::Data::User::OrHash]
127
+ ).returns(T.attached_class)
128
+ end
129
+ def self.new(
130
+ # Pagination metadata for list responses
131
+ pagination: nil,
132
+ # The users on this page.
133
+ users: nil
134
+ )
135
+ end
136
+
94
137
  sig do
95
- params(users: T::Array[Sentdm::UserResponse::OrHash]).returns(
138
+ override.returns(
139
+ {
140
+ pagination: Sentdm::Models::UserListResponse::Data::Pagination,
141
+ users: T::Array[Sentdm::Models::UserListResponse::Data::User]
142
+ }
143
+ )
144
+ end
145
+ def to_hash
146
+ end
147
+
148
+ class Pagination < Sentdm::Internal::Type::BaseModel
149
+ OrHash =
150
+ T.type_alias do
151
+ T.any(
152
+ Sentdm::Models::UserListResponse::Data::Pagination,
153
+ Sentdm::Internal::AnyHash
154
+ )
155
+ end
156
+
157
+ # Cursor-based pagination. Never populated — see Cursors.
158
+ sig do
159
+ returns(
160
+ T.nilable(
161
+ Sentdm::Models::UserListResponse::Data::Pagination::Cursors
162
+ )
163
+ )
164
+ end
165
+ attr_reader :cursors
166
+
167
+ sig do
168
+ params(
169
+ cursors:
170
+ T.nilable(
171
+ Sentdm::Models::UserListResponse::Data::Pagination::Cursors::OrHash
172
+ )
173
+ ).void
174
+ end
175
+ attr_writer :cursors
176
+
177
+ # Whether there are more pages after this one
178
+ sig { returns(T.nilable(T::Boolean)) }
179
+ attr_reader :has_more
180
+
181
+ sig { params(has_more: T::Boolean).void }
182
+ attr_writer :has_more
183
+
184
+ # Current page number (1-indexed)
185
+ sig { returns(T.nilable(Integer)) }
186
+ attr_reader :page
187
+
188
+ sig { params(page: Integer).void }
189
+ attr_writer :page
190
+
191
+ # Number of items per page
192
+ sig { returns(T.nilable(Integer)) }
193
+ attr_reader :page_size
194
+
195
+ sig { params(page_size: Integer).void }
196
+ attr_writer :page_size
197
+
198
+ # Total number of items across all pages
199
+ sig { returns(T.nilable(Integer)) }
200
+ attr_reader :total_count
201
+
202
+ sig { params(total_count: Integer).void }
203
+ attr_writer :total_count
204
+
205
+ # Total number of pages
206
+ sig { returns(T.nilable(Integer)) }
207
+ attr_reader :total_pages
208
+
209
+ sig { params(total_pages: Integer).void }
210
+ attr_writer :total_pages
211
+
212
+ # Pagination metadata for list responses
213
+ sig do
214
+ params(
215
+ cursors:
216
+ T.nilable(
217
+ Sentdm::Models::UserListResponse::Data::Pagination::Cursors::OrHash
218
+ ),
219
+ has_more: T::Boolean,
220
+ page: Integer,
221
+ page_size: Integer,
222
+ total_count: Integer,
223
+ total_pages: Integer
224
+ ).returns(T.attached_class)
225
+ end
226
+ def self.new(
227
+ # Cursor-based pagination. Never populated — see Cursors.
228
+ cursors: nil,
229
+ # Whether there are more pages after this one
230
+ has_more: nil,
231
+ # Current page number (1-indexed)
232
+ page: nil,
233
+ # Number of items per page
234
+ page_size: nil,
235
+ # Total number of items across all pages
236
+ total_count: nil,
237
+ # Total number of pages
238
+ total_pages: nil
239
+ )
240
+ end
241
+
242
+ sig do
243
+ override.returns(
244
+ {
245
+ cursors:
246
+ T.nilable(
247
+ Sentdm::Models::UserListResponse::Data::Pagination::Cursors
248
+ ),
249
+ has_more: T::Boolean,
250
+ page: Integer,
251
+ page_size: Integer,
252
+ total_count: Integer,
253
+ total_pages: Integer
254
+ }
255
+ )
256
+ end
257
+ def to_hash
258
+ end
259
+
260
+ class Cursors < Sentdm::Internal::Type::BaseModel
261
+ OrHash =
262
+ T.type_alias do
263
+ T.any(
264
+ Sentdm::Models::UserListResponse::Data::Pagination::Cursors,
265
+ Sentdm::Internal::AnyHash
266
+ )
267
+ end
268
+
269
+ # Cursor to fetch the next page.
270
+ sig { returns(T.nilable(String)) }
271
+ attr_accessor :after
272
+
273
+ # Cursor to fetch the previous page.
274
+ sig { returns(T.nilable(String)) }
275
+ attr_accessor :before
276
+
277
+ # Cursor-based pagination. Never populated — see Cursors.
278
+ sig do
279
+ params(
280
+ after: T.nilable(String),
281
+ before: T.nilable(String)
282
+ ).returns(T.attached_class)
283
+ end
284
+ def self.new(
285
+ # Cursor to fetch the next page.
286
+ after: nil,
287
+ # Cursor to fetch the previous page.
288
+ before: nil
289
+ )
290
+ end
291
+
292
+ sig do
293
+ override.returns(
294
+ { after: T.nilable(String), before: T.nilable(String) }
295
+ )
296
+ end
297
+ def to_hash
298
+ end
299
+ end
300
+ end
301
+
302
+ class User < Sentdm::Internal::Type::BaseModel
303
+ OrHash =
304
+ T.type_alias do
305
+ T.any(
306
+ Sentdm::Models::UserListResponse::Data::User,
307
+ Sentdm::Internal::AnyHash
308
+ )
309
+ end
310
+
311
+ # User unique identifier
312
+ sig { returns(T.nilable(String)) }
313
+ attr_reader :id
314
+
315
+ sig { params(id: String).void }
316
+ attr_writer :id
317
+
318
+ # When the user was added to the organization
319
+ sig { returns(T.nilable(Time)) }
320
+ attr_reader :created_at
321
+
322
+ sig { params(created_at: Time).void }
323
+ attr_writer :created_at
324
+
325
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
326
+ # Says whose resource this is, which the resource's own id does not.
327
+ sig { returns(T.nilable(String)) }
328
+ attr_reader :customer_id
329
+
330
+ sig { params(customer_id: String).void }
331
+ attr_writer :customer_id
332
+
333
+ # User email address
334
+ sig { returns(T.nilable(String)) }
335
+ attr_reader :email
336
+
337
+ sig { params(email: String).void }
338
+ attr_writer :email
339
+
340
+ # When the user was invited
341
+ sig { returns(T.nilable(Time)) }
342
+ attr_accessor :invited_at
343
+
344
+ # When the user last logged in
345
+ sig { returns(T.nilable(Time)) }
346
+ attr_accessor :last_login_at
347
+
348
+ # User full name
349
+ sig { returns(T.nilable(String)) }
350
+ attr_reader :name
351
+
352
+ sig { params(name: String).void }
353
+ attr_writer :name
354
+
355
+ # User role in the organization: admin, billing, developer
356
+ sig { returns(T.nilable(String)) }
357
+ attr_reader :role
358
+
359
+ sig { params(role: String).void }
360
+ attr_writer :role
361
+
362
+ # User status: active, invited, suspended, rejected
363
+ sig { returns(T.nilable(String)) }
364
+ attr_reader :status
365
+
366
+ sig { params(status: String).void }
367
+ attr_writer :status
368
+
369
+ # When the user record was last updated
370
+ sig { returns(T.nilable(Time)) }
371
+ attr_accessor :updated_at
372
+
373
+ # User response for v3 API
374
+ sig do
375
+ params(
376
+ id: String,
377
+ created_at: Time,
378
+ customer_id: String,
379
+ email: String,
380
+ invited_at: T.nilable(Time),
381
+ last_login_at: T.nilable(Time),
382
+ name: String,
383
+ role: String,
384
+ status: String,
385
+ updated_at: T.nilable(Time)
386
+ ).returns(T.attached_class)
387
+ end
388
+ def self.new(
389
+ # User unique identifier
390
+ id: nil,
391
+ # When the user was added to the organization
392
+ created_at: nil,
393
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
394
+ # Says whose resource this is, which the resource's own id does not.
395
+ customer_id: nil,
396
+ # User email address
397
+ email: nil,
398
+ # When the user was invited
399
+ invited_at: nil,
400
+ # When the user last logged in
401
+ last_login_at: nil,
402
+ # User full name
403
+ name: nil,
404
+ # User role in the organization: admin, billing, developer
405
+ role: nil,
406
+ # User status: active, invited, suspended, rejected
407
+ status: nil,
408
+ # When the user record was last updated
409
+ updated_at: nil
410
+ )
411
+ end
412
+
413
+ sig do
414
+ override.returns(
415
+ {
416
+ id: String,
417
+ created_at: Time,
418
+ customer_id: String,
419
+ email: String,
420
+ invited_at: T.nilable(Time),
421
+ last_login_at: T.nilable(Time),
422
+ name: String,
423
+ role: String,
424
+ status: String,
425
+ updated_at: T.nilable(Time)
426
+ }
427
+ )
428
+ end
429
+ def to_hash
430
+ end
431
+ end
432
+ end
433
+
434
+ class Error < Sentdm::Internal::Type::BaseModel
435
+ OrHash =
436
+ T.type_alias do
437
+ T.any(
438
+ Sentdm::Models::UserListResponse::Error,
439
+ Sentdm::Internal::AnyHash
440
+ )
441
+ end
442
+
443
+ # Machine-readable error code (e.g., "RESOURCE_001")
444
+ sig { returns(T.nilable(String)) }
445
+ attr_reader :code
446
+
447
+ sig { params(code: String).void }
448
+ attr_writer :code
449
+
450
+ # Additional validation error details (field-level errors)
451
+ sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
452
+ attr_accessor :details
453
+
454
+ # URL to documentation about this error
455
+ sig { returns(T.nilable(String)) }
456
+ attr_accessor :doc_url
457
+
458
+ # Human-readable error message
459
+ sig { returns(T.nilable(String)) }
460
+ attr_reader :message
461
+
462
+ sig { params(message: String).void }
463
+ attr_writer :message
464
+
465
+ # Error information
466
+ sig do
467
+ params(
468
+ code: String,
469
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
470
+ doc_url: T.nilable(String),
471
+ message: String
472
+ ).returns(T.attached_class)
473
+ end
474
+ def self.new(
475
+ # Machine-readable error code (e.g., "RESOURCE_001")
476
+ code: nil,
477
+ # Additional validation error details (field-level errors)
478
+ details: nil,
479
+ # URL to documentation about this error
480
+ doc_url: nil,
481
+ # Human-readable error message
482
+ message: nil
483
+ )
484
+ end
485
+
486
+ sig do
487
+ override.returns(
488
+ {
489
+ code: String,
490
+ details: T.nilable(T::Hash[Symbol, T::Array[String]]),
491
+ doc_url: T.nilable(String),
492
+ message: String
493
+ }
494
+ )
495
+ end
496
+ def to_hash
497
+ end
498
+ end
499
+
500
+ class Meta < Sentdm::Internal::Type::BaseModel
501
+ OrHash =
502
+ T.type_alias do
503
+ T.any(
504
+ Sentdm::Models::UserListResponse::Meta,
505
+ Sentdm::Internal::AnyHash
506
+ )
507
+ end
508
+
509
+ # Unique identifier for this request (for tracing and support)
510
+ sig { returns(T.nilable(String)) }
511
+ attr_reader :request_id
512
+
513
+ sig { params(request_id: String).void }
514
+ attr_writer :request_id
515
+
516
+ # Server timestamp when the response was generated
517
+ sig { returns(T.nilable(Time)) }
518
+ attr_reader :timestamp
519
+
520
+ sig { params(timestamp: Time).void }
521
+ attr_writer :timestamp
522
+
523
+ # API version used for this request
524
+ sig { returns(T.nilable(String)) }
525
+ attr_reader :version
526
+
527
+ sig { params(version: String).void }
528
+ attr_writer :version
529
+
530
+ # Request and response metadata
531
+ sig do
532
+ params(request_id: String, timestamp: Time, version: String).returns(
96
533
  T.attached_class
97
534
  )
98
535
  end
99
536
  def self.new(
100
- # List of users in the organization
101
- users: nil
537
+ # Unique identifier for this request (for tracing and support)
538
+ request_id: nil,
539
+ # Server timestamp when the response was generated
540
+ timestamp: nil,
541
+ # API version used for this request
542
+ version: nil
102
543
  )
103
544
  end
104
545
 
105
- sig { override.returns({ users: T::Array[Sentdm::UserResponse] }) }
546
+ sig do
547
+ override.returns(
548
+ { request_id: String, timestamp: Time, version: String }
549
+ )
550
+ end
106
551
  def to_hash
107
552
  end
108
553
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class UserRemoveParams < Sentdm::Models::MutationRequest
5
+ class UserRemoveParams < Sentdm::Internal::Type::BaseModel
6
6
  extend Sentdm::Internal::Type::RequestParameters::Converter
7
7
  include Sentdm::Internal::Type::RequestParameters
8
8
 
@@ -14,6 +14,14 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :user_id
16
16
 
17
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
18
+ # for testing integrations without actual execution
19
+ sig { returns(T.nilable(T::Boolean)) }
20
+ attr_reader :sandbox
21
+
22
+ sig { params(sandbox: T::Boolean).void }
23
+ attr_writer :sandbox
24
+
17
25
  sig { returns(T.nilable(String)) }
18
26
  attr_reader :x_profile_id
19
27
 
@@ -23,17 +31,26 @@ module Sentdm
23
31
  sig do
24
32
  params(
25
33
  user_id: String,
34
+ sandbox: T::Boolean,
26
35
  x_profile_id: String,
27
36
  request_options: Sentdm::RequestOptions::OrHash
28
37
  ).returns(T.attached_class)
29
38
  end
30
- def self.new(user_id:, x_profile_id: nil, request_options: {})
39
+ def self.new(
40
+ user_id:,
41
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
42
+ # for testing integrations without actual execution
43
+ sandbox: nil,
44
+ x_profile_id: nil,
45
+ request_options: {}
46
+ )
31
47
  end
32
48
 
33
49
  sig do
34
50
  override.returns(
35
51
  {
36
52
  user_id: String,
53
+ sandbox: T::Boolean,
37
54
  x_profile_id: String,
38
55
  request_options: Sentdm::RequestOptions
39
56
  }