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,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#create
6
+ class SuppressionCreateResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::SuppressionCreateResponse::Data]
10
+ required :data, -> { ArkEmail::Models::SuppressionCreateResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::SuppressionCreateResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::SuppressionCreateResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute id
30
+ # Suppression ID
31
+ #
32
+ # @return [String]
33
+ required :id, String
34
+
35
+ # @!attribute address
36
+ #
37
+ # @return [String]
38
+ required :address, String
39
+
40
+ # @!attribute created_at
41
+ #
42
+ # @return [Time]
43
+ required :created_at, Time, api_name: :createdAt
44
+
45
+ # @!attribute reason
46
+ # Reason for suppression
47
+ #
48
+ # @return [String, nil]
49
+ optional :reason, String
50
+
51
+ # @!method initialize(id:, address:, created_at:, reason: nil)
52
+ # @param id [String] Suppression ID
53
+ #
54
+ # @param address [String]
55
+ #
56
+ # @param created_at [Time]
57
+ #
58
+ # @param reason [String] Reason for suppression
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#delete
6
+ class SuppressionDeleteParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#delete
6
+ class SuppressionDeleteResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::SuppressionDeleteResponse::Data]
10
+ required :data, -> { ArkEmail::Models::SuppressionDeleteResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::SuppressionDeleteResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::SuppressionDeleteResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute message
30
+ #
31
+ # @return [String]
32
+ required :message, String
33
+
34
+ # @!method initialize(message:)
35
+ # @param message [String]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#list
6
+ class SuppressionListParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute page
11
+ #
12
+ # @return [Integer, nil]
13
+ optional :page, Integer
14
+
15
+ # @!attribute per_page
16
+ #
17
+ # @return [Integer, nil]
18
+ optional :per_page, Integer
19
+
20
+ # @!method initialize(page: nil, per_page: nil, request_options: {})
21
+ # @param page [Integer]
22
+ # @param per_page [Integer]
23
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#list
6
+ class SuppressionListResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # Suppression ID
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute address
14
+ #
15
+ # @return [String]
16
+ required :address, String
17
+
18
+ # @!attribute created_at
19
+ #
20
+ # @return [Time]
21
+ required :created_at, Time, api_name: :createdAt
22
+
23
+ # @!attribute reason
24
+ #
25
+ # @return [String, nil]
26
+ optional :reason, String
27
+
28
+ # @!method initialize(id:, address:, created_at:, reason: nil)
29
+ # @param id [String] Suppression ID
30
+ #
31
+ # @param address [String]
32
+ #
33
+ # @param created_at [Time]
34
+ #
35
+ # @param reason [String]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#retrieve
6
+ class SuppressionRetrieveParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Suppressions#retrieve
6
+ class SuppressionRetrieveResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::SuppressionRetrieveResponse::Data]
10
+ required :data, -> { ArkEmail::Models::SuppressionRetrieveResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::SuppressionRetrieveResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::SuppressionRetrieveResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute address
30
+ # The email address that was checked
31
+ #
32
+ # @return [String]
33
+ required :address, String
34
+
35
+ # @!attribute suppressed
36
+ # Whether the address is currently suppressed
37
+ #
38
+ # @return [Boolean]
39
+ required :suppressed, ArkEmail::Internal::Type::Boolean
40
+
41
+ # @!attribute created_at
42
+ # When the suppression was created (if suppressed)
43
+ #
44
+ # @return [Time, nil]
45
+ optional :created_at, Time, api_name: :createdAt, nil?: true
46
+
47
+ # @!attribute reason
48
+ # Reason for suppression (if suppressed)
49
+ #
50
+ # @return [String, nil]
51
+ optional :reason, String, nil?: true
52
+
53
+ # @!method initialize(address:, suppressed:, created_at: nil, reason: nil)
54
+ # @param address [String] The email address that was checked
55
+ #
56
+ # @param suppressed [Boolean] Whether the address is currently suppressed
57
+ #
58
+ # @param created_at [Time, nil] When the suppression was created (if suppressed)
59
+ #
60
+ # @param reason [String, nil] Reason for suppression (if suppressed)
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,172 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class TrackDomain < ArkEmail::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # Track domain ID
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute created_at
13
+ # When the track domain was created
14
+ #
15
+ # @return [Time]
16
+ required :created_at, Time, api_name: :createdAt
17
+
18
+ # @!attribute dns_ok
19
+ # Whether DNS is correctly configured
20
+ #
21
+ # @return [Boolean]
22
+ required :dns_ok, ArkEmail::Internal::Type::Boolean, api_name: :dnsOk
23
+
24
+ # @!attribute domain_id
25
+ # ID of the parent sending domain
26
+ #
27
+ # @return [String]
28
+ required :domain_id, String, api_name: :domainId
29
+
30
+ # @!attribute full_name
31
+ # Full domain name
32
+ #
33
+ # @return [String]
34
+ required :full_name, String, api_name: :fullName
35
+
36
+ # @!attribute name
37
+ # Subdomain name
38
+ #
39
+ # @return [String]
40
+ required :name, String
41
+
42
+ # @!attribute ssl_enabled
43
+ # Whether SSL is enabled for tracking URLs
44
+ #
45
+ # @return [Boolean]
46
+ required :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled
47
+
48
+ # @!attribute track_clicks
49
+ # Whether click tracking is enabled
50
+ #
51
+ # @return [Boolean]
52
+ required :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks
53
+
54
+ # @!attribute track_opens
55
+ # Whether open tracking is enabled
56
+ #
57
+ # @return [Boolean]
58
+ required :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens
59
+
60
+ # @!attribute dns_checked_at
61
+ # When DNS was last checked
62
+ #
63
+ # @return [Time, nil]
64
+ optional :dns_checked_at, Time, api_name: :dnsCheckedAt, nil?: true
65
+
66
+ # @!attribute dns_error
67
+ # DNS error message if verification failed
68
+ #
69
+ # @return [String, nil]
70
+ optional :dns_error, String, api_name: :dnsError, nil?: true
71
+
72
+ # @!attribute dns_record
73
+ # Required DNS record configuration
74
+ #
75
+ # @return [ArkEmail::Models::TrackDomain::DNSRecord, nil]
76
+ optional :dns_record, -> { ArkEmail::TrackDomain::DNSRecord }, api_name: :dnsRecord, nil?: true
77
+
78
+ # @!attribute dns_status
79
+ # Current DNS verification status
80
+ #
81
+ # @return [Symbol, ArkEmail::Models::TrackDomain::DNSStatus, nil]
82
+ optional :dns_status, enum: -> { ArkEmail::TrackDomain::DNSStatus }, api_name: :dnsStatus, nil?: true
83
+
84
+ # @!attribute excluded_click_domains
85
+ # Domains excluded from click tracking
86
+ #
87
+ # @return [String, nil]
88
+ optional :excluded_click_domains, String, api_name: :excludedClickDomains, nil?: true
89
+
90
+ # @!attribute updated_at
91
+ # When the track domain was last updated
92
+ #
93
+ # @return [Time, nil]
94
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
95
+
96
+ # @!method initialize(id:, created_at:, dns_ok:, domain_id:, full_name:, name:, ssl_enabled:, track_clicks:, track_opens:, dns_checked_at: nil, dns_error: nil, dns_record: nil, dns_status: nil, excluded_click_domains: nil, updated_at: nil)
97
+ # @param id [String] Track domain ID
98
+ #
99
+ # @param created_at [Time] When the track domain was created
100
+ #
101
+ # @param dns_ok [Boolean] Whether DNS is correctly configured
102
+ #
103
+ # @param domain_id [String] ID of the parent sending domain
104
+ #
105
+ # @param full_name [String] Full domain name
106
+ #
107
+ # @param name [String] Subdomain name
108
+ #
109
+ # @param ssl_enabled [Boolean] Whether SSL is enabled for tracking URLs
110
+ #
111
+ # @param track_clicks [Boolean] Whether click tracking is enabled
112
+ #
113
+ # @param track_opens [Boolean] Whether open tracking is enabled
114
+ #
115
+ # @param dns_checked_at [Time, nil] When DNS was last checked
116
+ #
117
+ # @param dns_error [String, nil] DNS error message if verification failed
118
+ #
119
+ # @param dns_record [ArkEmail::Models::TrackDomain::DNSRecord, nil] Required DNS record configuration
120
+ #
121
+ # @param dns_status [Symbol, ArkEmail::Models::TrackDomain::DNSStatus, nil] Current DNS verification status
122
+ #
123
+ # @param excluded_click_domains [String, nil] Domains excluded from click tracking
124
+ #
125
+ # @param updated_at [Time, nil] When the track domain was last updated
126
+
127
+ # @see ArkEmail::Models::TrackDomain#dns_record
128
+ class DNSRecord < ArkEmail::Internal::Type::BaseModel
129
+ # @!attribute name
130
+ # DNS record name
131
+ #
132
+ # @return [String, nil]
133
+ optional :name, String
134
+
135
+ # @!attribute type
136
+ # DNS record type
137
+ #
138
+ # @return [String, nil]
139
+ optional :type, String
140
+
141
+ # @!attribute value
142
+ # DNS record value (target)
143
+ #
144
+ # @return [String, nil]
145
+ optional :value, String
146
+
147
+ # @!method initialize(name: nil, type: nil, value: nil)
148
+ # Required DNS record configuration
149
+ #
150
+ # @param name [String] DNS record name
151
+ #
152
+ # @param type [String] DNS record type
153
+ #
154
+ # @param value [String] DNS record value (target)
155
+ end
156
+
157
+ # Current DNS verification status
158
+ #
159
+ # @see ArkEmail::Models::TrackDomain#dns_status
160
+ module DNSStatus
161
+ extend ArkEmail::Internal::Type::Enum
162
+
163
+ OK = :ok
164
+ MISSING = :missing
165
+ INVALID = :invalid
166
+
167
+ # @!method self.values
168
+ # @return [Array<Symbol>]
169
+ end
170
+ end
171
+ end
172
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#create
6
+ class TrackingCreateParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute domain_id
11
+ # ID of the sending domain to attach this track domain to
12
+ #
13
+ # @return [String]
14
+ required :domain_id, String, api_name: :domainId
15
+
16
+ # @!attribute name
17
+ # Subdomain name (e.g., 'track' for track.yourdomain.com)
18
+ #
19
+ # @return [String]
20
+ required :name, String
21
+
22
+ # @!attribute ssl_enabled
23
+ # Enable SSL for tracking URLs (recommended)
24
+ #
25
+ # @return [Boolean, nil]
26
+ optional :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled
27
+
28
+ # @!attribute track_clicks
29
+ # Enable click tracking
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks
33
+
34
+ # @!attribute track_opens
35
+ # Enable open tracking (tracking pixel)
36
+ #
37
+ # @return [Boolean, nil]
38
+ optional :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens
39
+
40
+ # @!method initialize(domain_id:, name:, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
41
+ # @param domain_id [String] ID of the sending domain to attach this track domain to
42
+ #
43
+ # @param name [String] Subdomain name (e.g., 'track' for track.yourdomain.com)
44
+ #
45
+ # @param ssl_enabled [Boolean] Enable SSL for tracking URLs (recommended)
46
+ #
47
+ # @param track_clicks [Boolean] Enable click tracking
48
+ #
49
+ # @param track_opens [Boolean] Enable open tracking (tracking pixel)
50
+ #
51
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#create
6
+ class TrackingCreateResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::TrackDomain]
10
+ required :data, -> { ArkEmail::TrackDomain }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::TrackDomain]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#delete
6
+ class TrackingDeleteParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#delete
6
+ class TrackingDeleteResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::TrackingDeleteResponse::Data]
10
+ required :data, -> { ArkEmail::Models::TrackingDeleteResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::TrackingDeleteResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::TrackingDeleteResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute message
30
+ #
31
+ # @return [String]
32
+ required :message, String
33
+
34
+ # @!method initialize(message:)
35
+ # @param message [String]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#list
6
+ class TrackingListParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#list
6
+ class TrackingListResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::TrackingListResponse::Data]
10
+ required :data, -> { ArkEmail::Models::TrackingListResponse::Data }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::TrackingListResponse::Data]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+
27
+ # @see ArkEmail::Models::TrackingListResponse#data
28
+ class Data < ArkEmail::Internal::Type::BaseModel
29
+ # @!attribute track_domains
30
+ #
31
+ # @return [Array<ArkEmail::Models::TrackDomain>]
32
+ required :track_domains,
33
+ -> { ArkEmail::Internal::Type::ArrayOf[ArkEmail::TrackDomain] },
34
+ api_name: :trackDomains
35
+
36
+ # @!method initialize(track_domains:)
37
+ # @param track_domains [Array<ArkEmail::Models::TrackDomain>]
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#retrieve
6
+ class TrackingRetrieveParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tracking#retrieve
6
+ class TrackingRetrieveResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::TrackDomain]
10
+ required :data, -> { ArkEmail::TrackDomain }
11
+
12
+ # @!attribute meta
13
+ #
14
+ # @return [ArkEmail::Models::APIMeta]
15
+ required :meta, -> { ArkEmail::APIMeta }
16
+
17
+ # @!attribute success
18
+ #
19
+ # @return [Boolean, true]
20
+ required :success, const: true
21
+
22
+ # @!method initialize(data:, meta:, success: true)
23
+ # @param data [ArkEmail::Models::TrackDomain]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+ end
27
+ end
28
+ end