ark-email 0.5.1

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 (272) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +71 -0
  4. data/README.md +303 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/ark_email/client.rb +102 -0
  7. data/lib/ark_email/errors.rb +228 -0
  8. data/lib/ark_email/file_part.rb +58 -0
  9. data/lib/ark_email/internal/page_number_pagination.rb +121 -0
  10. data/lib/ark_email/internal/transport/base_client.rb +573 -0
  11. data/lib/ark_email/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/ark_email/internal/type/array_of.rb +168 -0
  13. data/lib/ark_email/internal/type/base_model.rb +529 -0
  14. data/lib/ark_email/internal/type/base_page.rb +55 -0
  15. data/lib/ark_email/internal/type/boolean.rb +77 -0
  16. data/lib/ark_email/internal/type/converter.rb +327 -0
  17. data/lib/ark_email/internal/type/enum.rb +131 -0
  18. data/lib/ark_email/internal/type/file_input.rb +111 -0
  19. data/lib/ark_email/internal/type/hash_of.rb +188 -0
  20. data/lib/ark_email/internal/type/request_parameters.rb +42 -0
  21. data/lib/ark_email/internal/type/union.rb +237 -0
  22. data/lib/ark_email/internal/type/unknown.rb +81 -0
  23. data/lib/ark_email/internal/util.rb +920 -0
  24. data/lib/ark_email/internal.rb +20 -0
  25. data/lib/ark_email/models/api_meta.rb +16 -0
  26. data/lib/ark_email/models/dns_record.rb +81 -0
  27. data/lib/ark_email/models/domain_create_params.rb +22 -0
  28. data/lib/ark_email/models/domain_create_response.rb +110 -0
  29. data/lib/ark_email/models/domain_delete_params.rb +14 -0
  30. data/lib/ark_email/models/domain_delete_response.rb +39 -0
  31. data/lib/ark_email/models/domain_list_params.rb +14 -0
  32. data/lib/ark_email/models/domain_list_response.rb +72 -0
  33. data/lib/ark_email/models/domain_retrieve_params.rb +14 -0
  34. data/lib/ark_email/models/domain_retrieve_response.rb +110 -0
  35. data/lib/ark_email/models/domain_verify_params.rb +14 -0
  36. data/lib/ark_email/models/domain_verify_response.rb +110 -0
  37. data/lib/ark_email/models/email_list_params.rb +110 -0
  38. data/lib/ark_email/models/email_list_response.rb +108 -0
  39. data/lib/ark_email/models/email_retrieve_deliveries_params.rb +14 -0
  40. data/lib/ark_email/models/email_retrieve_deliveries_response.rb +123 -0
  41. data/lib/ark_email/models/email_retrieve_params.rb +30 -0
  42. data/lib/ark_email/models/email_retrieve_response.rb +285 -0
  43. data/lib/ark_email/models/email_retry_params.rb +14 -0
  44. data/lib/ark_email/models/email_retry_response.rb +39 -0
  45. data/lib/ark_email/models/email_send_batch_params.rb +70 -0
  46. data/lib/ark_email/models/email_send_batch_response.rb +83 -0
  47. data/lib/ark_email/models/email_send_params.rb +149 -0
  48. data/lib/ark_email/models/email_send_raw_params.rb +38 -0
  49. data/lib/ark_email/models/email_send_raw_response.rb +77 -0
  50. data/lib/ark_email/models/email_send_response.rb +77 -0
  51. data/lib/ark_email/models/suppression_bulk_create_params.rb +37 -0
  52. data/lib/ark_email/models/suppression_bulk_create_response.rb +64 -0
  53. data/lib/ark_email/models/suppression_create_params.rb +30 -0
  54. data/lib/ark_email/models/suppression_create_response.rb +62 -0
  55. data/lib/ark_email/models/suppression_delete_params.rb +14 -0
  56. data/lib/ark_email/models/suppression_delete_response.rb +39 -0
  57. data/lib/ark_email/models/suppression_list_params.rb +26 -0
  58. data/lib/ark_email/models/suppression_list_response.rb +38 -0
  59. data/lib/ark_email/models/suppression_retrieve_params.rb +14 -0
  60. data/lib/ark_email/models/suppression_retrieve_response.rb +64 -0
  61. data/lib/ark_email/models/track_domain.rb +172 -0
  62. data/lib/ark_email/models/tracking_create_params.rb +54 -0
  63. data/lib/ark_email/models/tracking_create_response.rb +28 -0
  64. data/lib/ark_email/models/tracking_delete_params.rb +14 -0
  65. data/lib/ark_email/models/tracking_delete_response.rb +39 -0
  66. data/lib/ark_email/models/tracking_list_params.rb +14 -0
  67. data/lib/ark_email/models/tracking_list_response.rb +41 -0
  68. data/lib/ark_email/models/tracking_retrieve_params.rb +14 -0
  69. data/lib/ark_email/models/tracking_retrieve_response.rb +28 -0
  70. data/lib/ark_email/models/tracking_update_params.rb +46 -0
  71. data/lib/ark_email/models/tracking_update_response.rb +28 -0
  72. data/lib/ark_email/models/tracking_verify_params.rb +14 -0
  73. data/lib/ark_email/models/tracking_verify_response.rb +133 -0
  74. data/lib/ark_email/models/webhook_create_params.rb +81 -0
  75. data/lib/ark_email/models/webhook_create_response.rb +111 -0
  76. data/lib/ark_email/models/webhook_delete_params.rb +14 -0
  77. data/lib/ark_email/models/webhook_delete_response.rb +39 -0
  78. data/lib/ark_email/models/webhook_list_params.rb +14 -0
  79. data/lib/ark_email/models/webhook_list_response.rb +79 -0
  80. data/lib/ark_email/models/webhook_retrieve_params.rb +14 -0
  81. data/lib/ark_email/models/webhook_retrieve_response.rb +111 -0
  82. data/lib/ark_email/models/webhook_test_params.rb +39 -0
  83. data/lib/ark_email/models/webhook_test_response.rb +80 -0
  84. data/lib/ark_email/models/webhook_update_params.rb +44 -0
  85. data/lib/ark_email/models/webhook_update_response.rb +111 -0
  86. data/lib/ark_email/models.rb +105 -0
  87. data/lib/ark_email/request_options.rb +77 -0
  88. data/lib/ark_email/resources/domains.rb +127 -0
  89. data/lib/ark_email/resources/emails.rb +263 -0
  90. data/lib/ark_email/resources/suppressions.rb +124 -0
  91. data/lib/ark_email/resources/tracking.rb +167 -0
  92. data/lib/ark_email/resources/webhooks.rb +175 -0
  93. data/lib/ark_email/version.rb +5 -0
  94. data/lib/ark_email.rb +122 -0
  95. data/manifest.yaml +17 -0
  96. data/rbi/ark_email/client.rbi +73 -0
  97. data/rbi/ark_email/errors.rbi +205 -0
  98. data/rbi/ark_email/file_part.rbi +37 -0
  99. data/rbi/ark_email/internal/page_number_pagination.rbi +52 -0
  100. data/rbi/ark_email/internal/transport/base_client.rbi +297 -0
  101. data/rbi/ark_email/internal/transport/pooled_net_requester.rbi +83 -0
  102. data/rbi/ark_email/internal/type/array_of.rbi +104 -0
  103. data/rbi/ark_email/internal/type/base_model.rbi +306 -0
  104. data/rbi/ark_email/internal/type/base_page.rbi +42 -0
  105. data/rbi/ark_email/internal/type/boolean.rbi +58 -0
  106. data/rbi/ark_email/internal/type/converter.rbi +216 -0
  107. data/rbi/ark_email/internal/type/enum.rbi +82 -0
  108. data/rbi/ark_email/internal/type/file_input.rbi +59 -0
  109. data/rbi/ark_email/internal/type/hash_of.rbi +104 -0
  110. data/rbi/ark_email/internal/type/request_parameters.rbi +29 -0
  111. data/rbi/ark_email/internal/type/union.rbi +128 -0
  112. data/rbi/ark_email/internal/type/unknown.rbi +58 -0
  113. data/rbi/ark_email/internal/util.rbi +487 -0
  114. data/rbi/ark_email/internal.rbi +16 -0
  115. data/rbi/ark_email/models/api_meta.rbi +25 -0
  116. data/rbi/ark_email/models/dns_record.rbi +111 -0
  117. data/rbi/ark_email/models/domain_create_params.rbi +40 -0
  118. data/rbi/ark_email/models/domain_create_response.rbi +193 -0
  119. data/rbi/ark_email/models/domain_delete_params.rbi +27 -0
  120. data/rbi/ark_email/models/domain_delete_response.rbi +75 -0
  121. data/rbi/ark_email/models/domain_list_params.rbi +27 -0
  122. data/rbi/ark_email/models/domain_list_response.rbi +144 -0
  123. data/rbi/ark_email/models/domain_retrieve_params.rbi +27 -0
  124. data/rbi/ark_email/models/domain_retrieve_response.rbi +195 -0
  125. data/rbi/ark_email/models/domain_verify_params.rbi +27 -0
  126. data/rbi/ark_email/models/domain_verify_response.rbi +193 -0
  127. data/rbi/ark_email/models/email_list_params.rbi +172 -0
  128. data/rbi/ark_email/models/email_list_response.rbi +164 -0
  129. data/rbi/ark_email/models/email_retrieve_deliveries_params.rbi +30 -0
  130. data/rbi/ark_email/models/email_retrieve_deliveries_response.rbi +220 -0
  131. data/rbi/ark_email/models/email_retrieve_params.rbi +53 -0
  132. data/rbi/ark_email/models/email_retrieve_response.rbi +490 -0
  133. data/rbi/ark_email/models/email_retry_params.rbi +27 -0
  134. data/rbi/ark_email/models/email_retry_response.rbi +75 -0
  135. data/rbi/ark_email/models/email_send_batch_params.rbi +118 -0
  136. data/rbi/ark_email/models/email_send_batch_response.rbi +159 -0
  137. data/rbi/ark_email/models/email_send_params.rbi +229 -0
  138. data/rbi/ark_email/models/email_send_raw_params.rbi +59 -0
  139. data/rbi/ark_email/models/email_send_raw_response.rbi +157 -0
  140. data/rbi/ark_email/models/email_send_response.rbi +153 -0
  141. data/rbi/ark_email/models/suppression_bulk_create_params.rbi +76 -0
  142. data/rbi/ark_email/models/suppression_bulk_create_response.rbi +115 -0
  143. data/rbi/ark_email/models/suppression_create_params.rbi +54 -0
  144. data/rbi/ark_email/models/suppression_create_response.rbi +109 -0
  145. data/rbi/ark_email/models/suppression_delete_params.rbi +27 -0
  146. data/rbi/ark_email/models/suppression_delete_response.rbi +77 -0
  147. data/rbi/ark_email/models/suppression_list_params.rbi +49 -0
  148. data/rbi/ark_email/models/suppression_list_response.rbi +56 -0
  149. data/rbi/ark_email/models/suppression_retrieve_params.rbi +30 -0
  150. data/rbi/ark_email/models/suppression_retrieve_response.rbi +115 -0
  151. data/rbi/ark_email/models/track_domain.rbi +228 -0
  152. data/rbi/ark_email/models/tracking_create_params.rbi +84 -0
  153. data/rbi/ark_email/models/tracking_create_response.rbi +52 -0
  154. data/rbi/ark_email/models/tracking_delete_params.rbi +27 -0
  155. data/rbi/ark_email/models/tracking_delete_response.rbi +77 -0
  156. data/rbi/ark_email/models/tracking_list_params.rbi +27 -0
  157. data/rbi/ark_email/models/tracking_list_response.rbi +81 -0
  158. data/rbi/ark_email/models/tracking_retrieve_params.rbi +27 -0
  159. data/rbi/ark_email/models/tracking_retrieve_response.rbi +52 -0
  160. data/rbi/ark_email/models/tracking_update_params.rbi +79 -0
  161. data/rbi/ark_email/models/tracking_update_response.rbi +52 -0
  162. data/rbi/ark_email/models/tracking_verify_params.rbi +27 -0
  163. data/rbi/ark_email/models/tracking_verify_response.rbi +254 -0
  164. data/rbi/ark_email/models/webhook_create_params.rbi +154 -0
  165. data/rbi/ark_email/models/webhook_create_response.rbi +217 -0
  166. data/rbi/ark_email/models/webhook_delete_params.rbi +27 -0
  167. data/rbi/ark_email/models/webhook_delete_response.rbi +75 -0
  168. data/rbi/ark_email/models/webhook_list_params.rbi +27 -0
  169. data/rbi/ark_email/models/webhook_list_response.rbi +152 -0
  170. data/rbi/ark_email/models/webhook_retrieve_params.rbi +27 -0
  171. data/rbi/ark_email/models/webhook_retrieve_response.rbi +219 -0
  172. data/rbi/ark_email/models/webhook_test_params.rbi +95 -0
  173. data/rbi/ark_email/models/webhook_test_response.rbi +129 -0
  174. data/rbi/ark_email/models/webhook_update_params.rbi +80 -0
  175. data/rbi/ark_email/models/webhook_update_response.rbi +217 -0
  176. data/rbi/ark_email/models.rbi +68 -0
  177. data/rbi/ark_email/request_options.rbi +59 -0
  178. data/rbi/ark_email/resources/domains.rbi +84 -0
  179. data/rbi/ark_email/resources/emails.rbi +237 -0
  180. data/rbi/ark_email/resources/suppressions.rbi +84 -0
  181. data/rbi/ark_email/resources/tracking.rbi +130 -0
  182. data/rbi/ark_email/resources/webhooks.rbi +137 -0
  183. data/rbi/ark_email/version.rbi +5 -0
  184. data/sig/ark_email/client.rbs +34 -0
  185. data/sig/ark_email/errors.rbs +117 -0
  186. data/sig/ark_email/file_part.rbs +21 -0
  187. data/sig/ark_email/internal/page_number_pagination.rbs +32 -0
  188. data/sig/ark_email/internal/transport/base_client.rbs +133 -0
  189. data/sig/ark_email/internal/transport/pooled_net_requester.rbs +48 -0
  190. data/sig/ark_email/internal/type/array_of.rbs +48 -0
  191. data/sig/ark_email/internal/type/base_model.rbs +102 -0
  192. data/sig/ark_email/internal/type/base_page.rbs +24 -0
  193. data/sig/ark_email/internal/type/boolean.rbs +26 -0
  194. data/sig/ark_email/internal/type/converter.rbs +79 -0
  195. data/sig/ark_email/internal/type/enum.rbs +32 -0
  196. data/sig/ark_email/internal/type/file_input.rbs +25 -0
  197. data/sig/ark_email/internal/type/hash_of.rbs +48 -0
  198. data/sig/ark_email/internal/type/request_parameters.rbs +17 -0
  199. data/sig/ark_email/internal/type/union.rbs +52 -0
  200. data/sig/ark_email/internal/type/unknown.rbs +26 -0
  201. data/sig/ark_email/internal/util.rbs +185 -0
  202. data/sig/ark_email/internal.rbs +9 -0
  203. data/sig/ark_email/models/api_meta.rbs +13 -0
  204. data/sig/ark_email/models/dns_record.rbs +59 -0
  205. data/sig/ark_email/models/domain_create_params.rbs +23 -0
  206. data/sig/ark_email/models/domain_create_response.rbs +104 -0
  207. data/sig/ark_email/models/domain_delete_params.rbs +15 -0
  208. data/sig/ark_email/models/domain_delete_response.rbs +40 -0
  209. data/sig/ark_email/models/domain_list_params.rbs +15 -0
  210. data/sig/ark_email/models/domain_list_response.rbs +71 -0
  211. data/sig/ark_email/models/domain_retrieve_params.rbs +15 -0
  212. data/sig/ark_email/models/domain_retrieve_response.rbs +104 -0
  213. data/sig/ark_email/models/domain_verify_params.rbs +15 -0
  214. data/sig/ark_email/models/domain_verify_response.rbs +104 -0
  215. data/sig/ark_email/models/email_list_params.rbs +94 -0
  216. data/sig/ark_email/models/email_list_response.rbs +77 -0
  217. data/sig/ark_email/models/email_retrieve_deliveries_params.rbs +15 -0
  218. data/sig/ark_email/models/email_retrieve_deliveries_response.rbs +117 -0
  219. data/sig/ark_email/models/email_retrieve_params.rbs +25 -0
  220. data/sig/ark_email/models/email_retrieve_response.rbs +232 -0
  221. data/sig/ark_email/models/email_retry_params.rbs +15 -0
  222. data/sig/ark_email/models/email_retry_response.rbs +40 -0
  223. data/sig/ark_email/models/email_send_batch_params.rbs +81 -0
  224. data/sig/ark_email/models/email_send_batch_response.rbs +74 -0
  225. data/sig/ark_email/models/email_send_params.rbs +124 -0
  226. data/sig/ark_email/models/email_send_raw_params.rbs +32 -0
  227. data/sig/ark_email/models/email_send_raw_response.rbs +75 -0
  228. data/sig/ark_email/models/email_send_response.rbs +75 -0
  229. data/sig/ark_email/models/suppression_bulk_create_params.rbs +40 -0
  230. data/sig/ark_email/models/suppression_bulk_create_response.rbs +62 -0
  231. data/sig/ark_email/models/suppression_create_params.rbs +30 -0
  232. data/sig/ark_email/models/suppression_create_response.rbs +59 -0
  233. data/sig/ark_email/models/suppression_delete_params.rbs +15 -0
  234. data/sig/ark_email/models/suppression_delete_response.rbs +40 -0
  235. data/sig/ark_email/models/suppression_list_params.rbs +32 -0
  236. data/sig/ark_email/models/suppression_list_response.rbs +32 -0
  237. data/sig/ark_email/models/suppression_retrieve_params.rbs +15 -0
  238. data/sig/ark_email/models/suppression_retrieve_response.rbs +62 -0
  239. data/sig/ark_email/models/track_domain.rbs +122 -0
  240. data/sig/ark_email/models/tracking_create_params.rbs +52 -0
  241. data/sig/ark_email/models/tracking_create_response.rbs +26 -0
  242. data/sig/ark_email/models/tracking_delete_params.rbs +15 -0
  243. data/sig/ark_email/models/tracking_delete_response.rbs +40 -0
  244. data/sig/ark_email/models/tracking_list_params.rbs +15 -0
  245. data/sig/ark_email/models/tracking_list_response.rbs +40 -0
  246. data/sig/ark_email/models/tracking_retrieve_params.rbs +15 -0
  247. data/sig/ark_email/models/tracking_retrieve_response.rbs +26 -0
  248. data/sig/ark_email/models/tracking_update_params.rbs +49 -0
  249. data/sig/ark_email/models/tracking_update_response.rbs +26 -0
  250. data/sig/ark_email/models/tracking_verify_params.rbs +15 -0
  251. data/sig/ark_email/models/tracking_verify_response.rbs +109 -0
  252. data/sig/ark_email/models/webhook_create_params.rbs +75 -0
  253. data/sig/ark_email/models/webhook_create_response.rbs +107 -0
  254. data/sig/ark_email/models/webhook_delete_params.rbs +15 -0
  255. data/sig/ark_email/models/webhook_delete_response.rbs +40 -0
  256. data/sig/ark_email/models/webhook_list_params.rbs +15 -0
  257. data/sig/ark_email/models/webhook_list_response.rbs +84 -0
  258. data/sig/ark_email/models/webhook_retrieve_params.rbs +15 -0
  259. data/sig/ark_email/models/webhook_retrieve_response.rbs +107 -0
  260. data/sig/ark_email/models/webhook_test_params.rbs +49 -0
  261. data/sig/ark_email/models/webhook_test_response.rbs +72 -0
  262. data/sig/ark_email/models/webhook_update_params.rbs +56 -0
  263. data/sig/ark_email/models/webhook_update_response.rbs +107 -0
  264. data/sig/ark_email/models.rbs +65 -0
  265. data/sig/ark_email/request_options.rbs +34 -0
  266. data/sig/ark_email/resources/domains.rbs +31 -0
  267. data/sig/ark_email/resources/emails.rbs +65 -0
  268. data/sig/ark_email/resources/suppressions.rbs +34 -0
  269. data/sig/ark_email/resources/tracking.rbs +44 -0
  270. data/sig/ark_email/resources/webhooks.rbs +46 -0
  271. data/sig/ark_email/version.rbs +3 -0
  272. metadata +343 -0
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class SuppressionRetrieveParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ArkEmail::SuppressionRetrieveParams,
13
+ ArkEmail::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: ArkEmail::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,115 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class SuppressionRetrieveResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::SuppressionRetrieveResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::Models::SuppressionRetrieveResponse::Data) }
15
+ attr_reader :data
16
+
17
+ sig do
18
+ params(
19
+ data: ArkEmail::Models::SuppressionRetrieveResponse::Data::OrHash
20
+ ).void
21
+ end
22
+ attr_writer :data
23
+
24
+ sig { returns(ArkEmail::APIMeta) }
25
+ attr_reader :meta
26
+
27
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
28
+ attr_writer :meta
29
+
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :success
32
+
33
+ sig do
34
+ params(
35
+ data: ArkEmail::Models::SuppressionRetrieveResponse::Data::OrHash,
36
+ meta: ArkEmail::APIMeta::OrHash,
37
+ success: T::Boolean
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(data:, meta:, success: true)
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ {
46
+ data: ArkEmail::Models::SuppressionRetrieveResponse::Data,
47
+ meta: ArkEmail::APIMeta,
48
+ success: T::Boolean
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+
55
+ class Data < ArkEmail::Internal::Type::BaseModel
56
+ OrHash =
57
+ T.type_alias do
58
+ T.any(
59
+ ArkEmail::Models::SuppressionRetrieveResponse::Data,
60
+ ArkEmail::Internal::AnyHash
61
+ )
62
+ end
63
+
64
+ # The email address that was checked
65
+ sig { returns(String) }
66
+ attr_accessor :address
67
+
68
+ # Whether the address is currently suppressed
69
+ sig { returns(T::Boolean) }
70
+ attr_accessor :suppressed
71
+
72
+ # When the suppression was created (if suppressed)
73
+ sig { returns(T.nilable(Time)) }
74
+ attr_accessor :created_at
75
+
76
+ # Reason for suppression (if suppressed)
77
+ sig { returns(T.nilable(String)) }
78
+ attr_accessor :reason
79
+
80
+ sig do
81
+ params(
82
+ address: String,
83
+ suppressed: T::Boolean,
84
+ created_at: T.nilable(Time),
85
+ reason: T.nilable(String)
86
+ ).returns(T.attached_class)
87
+ end
88
+ def self.new(
89
+ # The email address that was checked
90
+ address:,
91
+ # Whether the address is currently suppressed
92
+ suppressed:,
93
+ # When the suppression was created (if suppressed)
94
+ created_at: nil,
95
+ # Reason for suppression (if suppressed)
96
+ reason: nil
97
+ )
98
+ end
99
+
100
+ sig do
101
+ override.returns(
102
+ {
103
+ address: String,
104
+ suppressed: T::Boolean,
105
+ created_at: T.nilable(Time),
106
+ reason: T.nilable(String)
107
+ }
108
+ )
109
+ end
110
+ def to_hash
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,228 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackDomain < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(ArkEmail::TrackDomain, ArkEmail::Internal::AnyHash)
9
+ end
10
+
11
+ # Track domain ID
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # When the track domain was created
16
+ sig { returns(Time) }
17
+ attr_accessor :created_at
18
+
19
+ # Whether DNS is correctly configured
20
+ sig { returns(T::Boolean) }
21
+ attr_accessor :dns_ok
22
+
23
+ # ID of the parent sending domain
24
+ sig { returns(String) }
25
+ attr_accessor :domain_id
26
+
27
+ # Full domain name
28
+ sig { returns(String) }
29
+ attr_accessor :full_name
30
+
31
+ # Subdomain name
32
+ sig { returns(String) }
33
+ attr_accessor :name
34
+
35
+ # Whether SSL is enabled for tracking URLs
36
+ sig { returns(T::Boolean) }
37
+ attr_accessor :ssl_enabled
38
+
39
+ # Whether click tracking is enabled
40
+ sig { returns(T::Boolean) }
41
+ attr_accessor :track_clicks
42
+
43
+ # Whether open tracking is enabled
44
+ sig { returns(T::Boolean) }
45
+ attr_accessor :track_opens
46
+
47
+ # When DNS was last checked
48
+ sig { returns(T.nilable(Time)) }
49
+ attr_accessor :dns_checked_at
50
+
51
+ # DNS error message if verification failed
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :dns_error
54
+
55
+ # Required DNS record configuration
56
+ sig { returns(T.nilable(ArkEmail::TrackDomain::DNSRecord)) }
57
+ attr_reader :dns_record
58
+
59
+ sig do
60
+ params(
61
+ dns_record: T.nilable(ArkEmail::TrackDomain::DNSRecord::OrHash)
62
+ ).void
63
+ end
64
+ attr_writer :dns_record
65
+
66
+ # Current DNS verification status
67
+ sig { returns(T.nilable(ArkEmail::TrackDomain::DNSStatus::TaggedSymbol)) }
68
+ attr_accessor :dns_status
69
+
70
+ # Domains excluded from click tracking
71
+ sig { returns(T.nilable(String)) }
72
+ attr_accessor :excluded_click_domains
73
+
74
+ # When the track domain was last updated
75
+ sig { returns(T.nilable(Time)) }
76
+ attr_accessor :updated_at
77
+
78
+ sig do
79
+ params(
80
+ id: String,
81
+ created_at: Time,
82
+ dns_ok: T::Boolean,
83
+ domain_id: String,
84
+ full_name: String,
85
+ name: String,
86
+ ssl_enabled: T::Boolean,
87
+ track_clicks: T::Boolean,
88
+ track_opens: T::Boolean,
89
+ dns_checked_at: T.nilable(Time),
90
+ dns_error: T.nilable(String),
91
+ dns_record: T.nilable(ArkEmail::TrackDomain::DNSRecord::OrHash),
92
+ dns_status: T.nilable(ArkEmail::TrackDomain::DNSStatus::OrSymbol),
93
+ excluded_click_domains: T.nilable(String),
94
+ updated_at: T.nilable(Time)
95
+ ).returns(T.attached_class)
96
+ end
97
+ def self.new(
98
+ # Track domain ID
99
+ id:,
100
+ # When the track domain was created
101
+ created_at:,
102
+ # Whether DNS is correctly configured
103
+ dns_ok:,
104
+ # ID of the parent sending domain
105
+ domain_id:,
106
+ # Full domain name
107
+ full_name:,
108
+ # Subdomain name
109
+ name:,
110
+ # Whether SSL is enabled for tracking URLs
111
+ ssl_enabled:,
112
+ # Whether click tracking is enabled
113
+ track_clicks:,
114
+ # Whether open tracking is enabled
115
+ track_opens:,
116
+ # When DNS was last checked
117
+ dns_checked_at: nil,
118
+ # DNS error message if verification failed
119
+ dns_error: nil,
120
+ # Required DNS record configuration
121
+ dns_record: nil,
122
+ # Current DNS verification status
123
+ dns_status: nil,
124
+ # Domains excluded from click tracking
125
+ excluded_click_domains: nil,
126
+ # When the track domain was last updated
127
+ updated_at: nil
128
+ )
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ id: String,
135
+ created_at: Time,
136
+ dns_ok: T::Boolean,
137
+ domain_id: String,
138
+ full_name: String,
139
+ name: String,
140
+ ssl_enabled: T::Boolean,
141
+ track_clicks: T::Boolean,
142
+ track_opens: T::Boolean,
143
+ dns_checked_at: T.nilable(Time),
144
+ dns_error: T.nilable(String),
145
+ dns_record: T.nilable(ArkEmail::TrackDomain::DNSRecord),
146
+ dns_status:
147
+ T.nilable(ArkEmail::TrackDomain::DNSStatus::TaggedSymbol),
148
+ excluded_click_domains: T.nilable(String),
149
+ updated_at: T.nilable(Time)
150
+ }
151
+ )
152
+ end
153
+ def to_hash
154
+ end
155
+
156
+ class DNSRecord < ArkEmail::Internal::Type::BaseModel
157
+ OrHash =
158
+ T.type_alias do
159
+ T.any(ArkEmail::TrackDomain::DNSRecord, ArkEmail::Internal::AnyHash)
160
+ end
161
+
162
+ # DNS record name
163
+ sig { returns(T.nilable(String)) }
164
+ attr_reader :name
165
+
166
+ sig { params(name: String).void }
167
+ attr_writer :name
168
+
169
+ # DNS record type
170
+ sig { returns(T.nilable(String)) }
171
+ attr_reader :type
172
+
173
+ sig { params(type: String).void }
174
+ attr_writer :type
175
+
176
+ # DNS record value (target)
177
+ sig { returns(T.nilable(String)) }
178
+ attr_reader :value
179
+
180
+ sig { params(value: String).void }
181
+ attr_writer :value
182
+
183
+ # Required DNS record configuration
184
+ sig do
185
+ params(name: String, type: String, value: String).returns(
186
+ T.attached_class
187
+ )
188
+ end
189
+ def self.new(
190
+ # DNS record name
191
+ name: nil,
192
+ # DNS record type
193
+ type: nil,
194
+ # DNS record value (target)
195
+ value: nil
196
+ )
197
+ end
198
+
199
+ sig { override.returns({ name: String, type: String, value: String }) }
200
+ def to_hash
201
+ end
202
+ end
203
+
204
+ # Current DNS verification status
205
+ module DNSStatus
206
+ extend ArkEmail::Internal::Type::Enum
207
+
208
+ TaggedSymbol =
209
+ T.type_alias { T.all(Symbol, ArkEmail::TrackDomain::DNSStatus) }
210
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
211
+
212
+ OK = T.let(:ok, ArkEmail::TrackDomain::DNSStatus::TaggedSymbol)
213
+ MISSING =
214
+ T.let(:missing, ArkEmail::TrackDomain::DNSStatus::TaggedSymbol)
215
+ INVALID =
216
+ T.let(:invalid, ArkEmail::TrackDomain::DNSStatus::TaggedSymbol)
217
+
218
+ sig do
219
+ override.returns(
220
+ T::Array[ArkEmail::TrackDomain::DNSStatus::TaggedSymbol]
221
+ )
222
+ end
223
+ def self.values
224
+ end
225
+ end
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,84 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingCreateParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ArkEmail::TrackingCreateParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ # ID of the sending domain to attach this track domain to
15
+ sig { returns(String) }
16
+ attr_accessor :domain_id
17
+
18
+ # Subdomain name (e.g., 'track' for track.yourdomain.com)
19
+ sig { returns(String) }
20
+ attr_accessor :name
21
+
22
+ # Enable SSL for tracking URLs (recommended)
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :ssl_enabled
25
+
26
+ sig { params(ssl_enabled: T::Boolean).void }
27
+ attr_writer :ssl_enabled
28
+
29
+ # Enable click tracking
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :track_clicks
32
+
33
+ sig { params(track_clicks: T::Boolean).void }
34
+ attr_writer :track_clicks
35
+
36
+ # Enable open tracking (tracking pixel)
37
+ sig { returns(T.nilable(T::Boolean)) }
38
+ attr_reader :track_opens
39
+
40
+ sig { params(track_opens: T::Boolean).void }
41
+ attr_writer :track_opens
42
+
43
+ sig do
44
+ params(
45
+ domain_id: String,
46
+ name: String,
47
+ ssl_enabled: T::Boolean,
48
+ track_clicks: T::Boolean,
49
+ track_opens: T::Boolean,
50
+ request_options: ArkEmail::RequestOptions::OrHash
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # ID of the sending domain to attach this track domain to
55
+ domain_id:,
56
+ # Subdomain name (e.g., 'track' for track.yourdomain.com)
57
+ name:,
58
+ # Enable SSL for tracking URLs (recommended)
59
+ ssl_enabled: nil,
60
+ # Enable click tracking
61
+ track_clicks: nil,
62
+ # Enable open tracking (tracking pixel)
63
+ track_opens: nil,
64
+ request_options: {}
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ domain_id: String,
72
+ name: String,
73
+ ssl_enabled: T::Boolean,
74
+ track_clicks: T::Boolean,
75
+ track_opens: T::Boolean,
76
+ request_options: ArkEmail::RequestOptions
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingCreateResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::TrackingCreateResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::TrackDomain) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: ArkEmail::TrackDomain::OrHash).void }
18
+ attr_writer :data
19
+
20
+ sig { returns(ArkEmail::APIMeta) }
21
+ attr_reader :meta
22
+
23
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
24
+ attr_writer :meta
25
+
26
+ sig { returns(T::Boolean) }
27
+ attr_accessor :success
28
+
29
+ sig do
30
+ params(
31
+ data: ArkEmail::TrackDomain::OrHash,
32
+ meta: ArkEmail::APIMeta::OrHash,
33
+ success: T::Boolean
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(data:, meta:, success: true)
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ data: ArkEmail::TrackDomain,
43
+ meta: ArkEmail::APIMeta,
44
+ success: T::Boolean
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingDeleteParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ArkEmail::TrackingDeleteParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: ArkEmail::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingDeleteResponse < ArkEmail::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ArkEmail::Models::TrackingDeleteResponse,
10
+ ArkEmail::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(ArkEmail::Models::TrackingDeleteResponse::Data) }
15
+ attr_reader :data
16
+
17
+ sig do
18
+ params(
19
+ data: ArkEmail::Models::TrackingDeleteResponse::Data::OrHash
20
+ ).void
21
+ end
22
+ attr_writer :data
23
+
24
+ sig { returns(ArkEmail::APIMeta) }
25
+ attr_reader :meta
26
+
27
+ sig { params(meta: ArkEmail::APIMeta::OrHash).void }
28
+ attr_writer :meta
29
+
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :success
32
+
33
+ sig do
34
+ params(
35
+ data: ArkEmail::Models::TrackingDeleteResponse::Data::OrHash,
36
+ meta: ArkEmail::APIMeta::OrHash,
37
+ success: T::Boolean
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(data:, meta:, success: true)
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ {
46
+ data: ArkEmail::Models::TrackingDeleteResponse::Data,
47
+ meta: ArkEmail::APIMeta,
48
+ success: T::Boolean
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+
55
+ class Data < ArkEmail::Internal::Type::BaseModel
56
+ OrHash =
57
+ T.type_alias do
58
+ T.any(
59
+ ArkEmail::Models::TrackingDeleteResponse::Data,
60
+ ArkEmail::Internal::AnyHash
61
+ )
62
+ end
63
+
64
+ sig { returns(String) }
65
+ attr_accessor :message
66
+
67
+ sig { params(message: String).returns(T.attached_class) }
68
+ def self.new(message:)
69
+ end
70
+
71
+ sig { override.returns({ message: String }) }
72
+ def to_hash
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackingListParams < ArkEmail::Internal::Type::BaseModel
6
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
7
+ include ArkEmail::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ArkEmail::TrackingListParams, ArkEmail::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: ArkEmail::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: ArkEmail::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end