ark-email 0.13.0 → 0.14.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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/ark_email/client.rb +4 -0
  5. data/lib/ark_email/models/email_retrieve_params.rb +4 -1
  6. data/lib/ark_email/models/email_retrieve_response.rb +177 -1
  7. data/lib/ark_email/models/log_entry.rb +298 -0
  8. data/lib/ark_email/models/log_entry_detail.rb +102 -0
  9. data/lib/ark_email/models/log_list_params.rb +106 -0
  10. data/lib/ark_email/models/log_retrieve_params.rb +14 -0
  11. data/lib/ark_email/models/log_retrieve_response.rb +33 -0
  12. data/lib/ark_email/models.rb +8 -0
  13. data/lib/ark_email/resources/logs.rb +120 -0
  14. data/lib/ark_email/version.rb +1 -1
  15. data/lib/ark_email.rb +6 -0
  16. data/rbi/ark_email/client.rbi +3 -0
  17. data/rbi/ark_email/models/email_retrieve_params.rbi +8 -2
  18. data/rbi/ark_email/models/email_retrieve_response.rbi +379 -0
  19. data/rbi/ark_email/models/log_entry.rbi +431 -0
  20. data/rbi/ark_email/models/log_entry_detail.rbi +192 -0
  21. data/rbi/ark_email/models/log_list_params.rbi +163 -0
  22. data/rbi/ark_email/models/log_retrieve_params.rbi +27 -0
  23. data/rbi/ark_email/models/log_retrieve_response.rbi +59 -0
  24. data/rbi/ark_email/models.rbi +8 -0
  25. data/rbi/ark_email/resources/emails.rbi +4 -1
  26. data/rbi/ark_email/resources/logs.rbi +104 -0
  27. data/sig/ark_email/client.rbs +2 -0
  28. data/sig/ark_email/models/email_retrieve_response.rbs +179 -0
  29. data/sig/ark_email/models/log_entry.rbs +209 -0
  30. data/sig/ark_email/models/log_entry_detail.rbs +97 -0
  31. data/sig/ark_email/models/log_list_params.rbs +97 -0
  32. data/sig/ark_email/models/log_retrieve_params.rbs +15 -0
  33. data/sig/ark_email/models/log_retrieve_response.rbs +26 -0
  34. data/sig/ark_email/models.rbs +8 -0
  35. data/sig/ark_email/resources/logs.rbs +25 -0
  36. metadata +20 -2
@@ -0,0 +1,209 @@
1
+ module ArkEmail
2
+ module Models
3
+ type log_entry =
4
+ {
5
+ context: ArkEmail::LogEntry::Context,
6
+ credential: ArkEmail::LogEntry::Credential,
7
+ duration_ms: Integer,
8
+ endpoint: String,
9
+ method_: ArkEmail::Models::LogEntry::method_,
10
+ path: String,
11
+ rate_limit: ArkEmail::LogEntry::RateLimit,
12
+ request_id: String,
13
+ status_code: Integer,
14
+ timestamp: Time,
15
+ email: ArkEmail::LogEntry::Email?,
16
+ error: ArkEmail::LogEntry::Error?,
17
+ sdk: ArkEmail::LogEntry::SDK?
18
+ }
19
+
20
+ class LogEntry < ArkEmail::Internal::Type::BaseModel
21
+ attr_accessor context: ArkEmail::LogEntry::Context
22
+
23
+ attr_accessor credential: ArkEmail::LogEntry::Credential
24
+
25
+ attr_accessor duration_ms: Integer
26
+
27
+ attr_accessor endpoint: String
28
+
29
+ attr_accessor method_: ArkEmail::Models::LogEntry::method_
30
+
31
+ attr_accessor path: String
32
+
33
+ attr_accessor rate_limit: ArkEmail::LogEntry::RateLimit
34
+
35
+ attr_accessor request_id: String
36
+
37
+ attr_accessor status_code: Integer
38
+
39
+ attr_accessor timestamp: Time
40
+
41
+ attr_accessor email: ArkEmail::LogEntry::Email?
42
+
43
+ attr_accessor error: ArkEmail::LogEntry::Error?
44
+
45
+ attr_accessor sdk: ArkEmail::LogEntry::SDK?
46
+
47
+ def initialize: (
48
+ context: ArkEmail::LogEntry::Context,
49
+ credential: ArkEmail::LogEntry::Credential,
50
+ duration_ms: Integer,
51
+ endpoint: String,
52
+ method_: ArkEmail::Models::LogEntry::method_,
53
+ path: String,
54
+ rate_limit: ArkEmail::LogEntry::RateLimit,
55
+ request_id: String,
56
+ status_code: Integer,
57
+ timestamp: Time,
58
+ ?email: ArkEmail::LogEntry::Email?,
59
+ ?error: ArkEmail::LogEntry::Error?,
60
+ ?sdk: ArkEmail::LogEntry::SDK?
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ context: ArkEmail::LogEntry::Context,
65
+ credential: ArkEmail::LogEntry::Credential,
66
+ duration_ms: Integer,
67
+ endpoint: String,
68
+ method_: ArkEmail::Models::LogEntry::method_,
69
+ path: String,
70
+ rate_limit: ArkEmail::LogEntry::RateLimit,
71
+ request_id: String,
72
+ status_code: Integer,
73
+ timestamp: Time,
74
+ email: ArkEmail::LogEntry::Email?,
75
+ error: ArkEmail::LogEntry::Error?,
76
+ sdk: ArkEmail::LogEntry::SDK?
77
+ }
78
+
79
+ type context =
80
+ {
81
+ idempotency_key: String?,
82
+ ip_address: String?,
83
+ query_params: ::Hash[Symbol, top]?,
84
+ user_agent: String?
85
+ }
86
+
87
+ class Context < ArkEmail::Internal::Type::BaseModel
88
+ attr_accessor idempotency_key: String?
89
+
90
+ attr_accessor ip_address: String?
91
+
92
+ attr_accessor query_params: ::Hash[Symbol, top]?
93
+
94
+ attr_accessor user_agent: String?
95
+
96
+ def initialize: (
97
+ ?idempotency_key: String?,
98
+ ?ip_address: String?,
99
+ ?query_params: ::Hash[Symbol, top]?,
100
+ ?user_agent: String?
101
+ ) -> void
102
+
103
+ def to_hash: -> {
104
+ idempotency_key: String?,
105
+ ip_address: String?,
106
+ query_params: ::Hash[Symbol, top]?,
107
+ user_agent: String?
108
+ }
109
+ end
110
+
111
+ type credential = { id: String, key_prefix: String? }
112
+
113
+ class Credential < ArkEmail::Internal::Type::BaseModel
114
+ attr_accessor id: String
115
+
116
+ attr_accessor key_prefix: String?
117
+
118
+ def initialize: (id: String, ?key_prefix: String?) -> void
119
+
120
+ def to_hash: -> { id: String, key_prefix: String? }
121
+ end
122
+
123
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
124
+
125
+ module Method
126
+ extend ArkEmail::Internal::Type::Enum
127
+
128
+ GET: :GET
129
+ POST: :POST
130
+ PUT: :PUT
131
+ PATCH: :PATCH
132
+ DELETE: :DELETE
133
+
134
+ def self?.values: -> ::Array[ArkEmail::Models::LogEntry::method_]
135
+ end
136
+
137
+ type rate_limit =
138
+ { limit: Integer?, limited: bool, remaining: Integer?, reset: Integer? }
139
+
140
+ class RateLimit < ArkEmail::Internal::Type::BaseModel
141
+ attr_accessor limit: Integer?
142
+
143
+ attr_reader limited: bool?
144
+
145
+ def limited=: (bool) -> bool
146
+
147
+ attr_accessor remaining: Integer?
148
+
149
+ attr_accessor reset: Integer?
150
+
151
+ def initialize: (
152
+ ?limit: Integer?,
153
+ ?limited: bool,
154
+ ?remaining: Integer?,
155
+ ?reset: Integer?
156
+ ) -> void
157
+
158
+ def to_hash: -> {
159
+ limit: Integer?,
160
+ limited: bool,
161
+ remaining: Integer?,
162
+ reset: Integer?
163
+ }
164
+ end
165
+
166
+ type email = { id: String, recipient_count: Integer? }
167
+
168
+ class Email < ArkEmail::Internal::Type::BaseModel
169
+ attr_reader id: String?
170
+
171
+ def id=: (String) -> String
172
+
173
+ attr_accessor recipient_count: Integer?
174
+
175
+ def initialize: (?id: String, ?recipient_count: Integer?) -> void
176
+
177
+ def to_hash: -> { id: String, recipient_count: Integer? }
178
+ end
179
+
180
+ type error = { code: String, message: String? }
181
+
182
+ class Error < ArkEmail::Internal::Type::BaseModel
183
+ attr_reader code: String?
184
+
185
+ def code=: (String) -> String
186
+
187
+ attr_accessor message: String?
188
+
189
+ def initialize: (?code: String, ?message: String?) -> void
190
+
191
+ def to_hash: -> { code: String, message: String? }
192
+ end
193
+
194
+ type sdk = { name: String, version: String? }
195
+
196
+ class SDK < ArkEmail::Internal::Type::BaseModel
197
+ attr_reader name: String?
198
+
199
+ def name=: (String) -> String
200
+
201
+ attr_accessor version: String?
202
+
203
+ def initialize: (?name: String, ?version: String?) -> void
204
+
205
+ def to_hash: -> { name: String, version: String? }
206
+ end
207
+ end
208
+ end
209
+ end
@@ -0,0 +1,97 @@
1
+ module ArkEmail
2
+ module Models
3
+ type log_entry_detail =
4
+ {
5
+ request: ArkEmail::LogEntryDetail::Request,
6
+ response: ArkEmail::LogEntryDetail::Response
7
+ }
8
+
9
+ class LogEntryDetail < ArkEmail::Models::LogEntry
10
+ def request: -> ArkEmail::LogEntryDetail::Request?
11
+
12
+ def request=: (
13
+ ArkEmail::LogEntryDetail::Request _
14
+ ) -> ArkEmail::LogEntryDetail::Request
15
+
16
+ def response: -> ArkEmail::LogEntryDetail::Response?
17
+
18
+ def response=: (
19
+ ArkEmail::LogEntryDetail::Response _
20
+ ) -> ArkEmail::LogEntryDetail::Response
21
+
22
+ def initialize: (
23
+ ?request: ArkEmail::LogEntryDetail::Request,
24
+ ?response: ArkEmail::LogEntryDetail::Response
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ request: ArkEmail::LogEntryDetail::Request,
29
+ response: ArkEmail::LogEntryDetail::Response
30
+ }
31
+
32
+ type request =
33
+ {
34
+ body: ArkEmail::Models::LogEntryDetail::Request::body?,
35
+ body_size: Integer?
36
+ }
37
+
38
+ class Request < ArkEmail::Internal::Type::BaseModel
39
+ attr_accessor body: ArkEmail::Models::LogEntryDetail::Request::body?
40
+
41
+ attr_accessor body_size: Integer?
42
+
43
+ def initialize: (
44
+ ?body: ArkEmail::Models::LogEntryDetail::Request::body?,
45
+ ?body_size: Integer?
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ body: ArkEmail::Models::LogEntryDetail::Request::body?,
50
+ body_size: Integer?
51
+ }
52
+
53
+ type body = ::Hash[Symbol, top] | String
54
+
55
+ module Body
56
+ extend ArkEmail::Internal::Type::Union
57
+
58
+ def self?.variants: -> ::Array[ArkEmail::Models::LogEntryDetail::Request::body]
59
+
60
+ UnionMember0Map: ArkEmail::Internal::Type::Converter
61
+ end
62
+ end
63
+
64
+ type response =
65
+ {
66
+ body: ArkEmail::Models::LogEntryDetail::Response::body?,
67
+ body_size: Integer?
68
+ }
69
+
70
+ class Response < ArkEmail::Internal::Type::BaseModel
71
+ attr_accessor body: ArkEmail::Models::LogEntryDetail::Response::body?
72
+
73
+ attr_accessor body_size: Integer?
74
+
75
+ def initialize: (
76
+ ?body: ArkEmail::Models::LogEntryDetail::Response::body?,
77
+ ?body_size: Integer?
78
+ ) -> void
79
+
80
+ def to_hash: -> {
81
+ body: ArkEmail::Models::LogEntryDetail::Response::body?,
82
+ body_size: Integer?
83
+ }
84
+
85
+ type body = ::Hash[Symbol, top] | String
86
+
87
+ module Body
88
+ extend ArkEmail::Internal::Type::Union
89
+
90
+ def self?.variants: -> ::Array[ArkEmail::Models::LogEntryDetail::Response::body]
91
+
92
+ UnionMember0Map: ArkEmail::Internal::Type::Converter
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,97 @@
1
+ module ArkEmail
2
+ module Models
3
+ type log_list_params =
4
+ {
5
+ credential_id: String,
6
+ end_date: Time,
7
+ endpoint: String,
8
+ page: Integer,
9
+ per_page: Integer,
10
+ request_id: String,
11
+ start_date: Time,
12
+ status: ArkEmail::Models::LogListParams::status,
13
+ status_code: Integer
14
+ }
15
+ & ArkEmail::Internal::Type::request_parameters
16
+
17
+ class LogListParams < ArkEmail::Internal::Type::BaseModel
18
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
19
+ include ArkEmail::Internal::Type::RequestParameters
20
+
21
+ attr_reader credential_id: String?
22
+
23
+ def credential_id=: (String) -> String
24
+
25
+ attr_reader end_date: Time?
26
+
27
+ def end_date=: (Time) -> Time
28
+
29
+ attr_reader endpoint: String?
30
+
31
+ def endpoint=: (String) -> String
32
+
33
+ attr_reader page: Integer?
34
+
35
+ def page=: (Integer) -> Integer
36
+
37
+ attr_reader per_page: Integer?
38
+
39
+ def per_page=: (Integer) -> Integer
40
+
41
+ attr_reader request_id: String?
42
+
43
+ def request_id=: (String) -> String
44
+
45
+ attr_reader start_date: Time?
46
+
47
+ def start_date=: (Time) -> Time
48
+
49
+ attr_reader status: ArkEmail::Models::LogListParams::status?
50
+
51
+ def status=: (
52
+ ArkEmail::Models::LogListParams::status
53
+ ) -> ArkEmail::Models::LogListParams::status
54
+
55
+ attr_reader status_code: Integer?
56
+
57
+ def status_code=: (Integer) -> Integer
58
+
59
+ def initialize: (
60
+ ?credential_id: String,
61
+ ?end_date: Time,
62
+ ?endpoint: String,
63
+ ?page: Integer,
64
+ ?per_page: Integer,
65
+ ?request_id: String,
66
+ ?start_date: Time,
67
+ ?status: ArkEmail::Models::LogListParams::status,
68
+ ?status_code: Integer,
69
+ ?request_options: ArkEmail::request_opts
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ credential_id: String,
74
+ end_date: Time,
75
+ endpoint: String,
76
+ page: Integer,
77
+ per_page: Integer,
78
+ request_id: String,
79
+ start_date: Time,
80
+ status: ArkEmail::Models::LogListParams::status,
81
+ status_code: Integer,
82
+ request_options: ArkEmail::RequestOptions
83
+ }
84
+
85
+ type status = :success | :error
86
+
87
+ module Status
88
+ extend ArkEmail::Internal::Type::Enum
89
+
90
+ SUCCESS: :success
91
+ ERROR: :error
92
+
93
+ def self?.values: -> ::Array[ArkEmail::Models::LogListParams::status]
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,15 @@
1
+ module ArkEmail
2
+ module Models
3
+ type log_retrieve_params =
4
+ { } & ArkEmail::Internal::Type::request_parameters
5
+
6
+ class LogRetrieveParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: ArkEmail::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: ArkEmail::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ module ArkEmail
2
+ module Models
3
+ type log_retrieve_response =
4
+ { data: ArkEmail::LogEntryDetail, meta: ArkEmail::APIMeta, success: true }
5
+
6
+ class LogRetrieveResponse < ArkEmail::Internal::Type::BaseModel
7
+ attr_accessor data: ArkEmail::LogEntryDetail
8
+
9
+ attr_accessor meta: ArkEmail::APIMeta
10
+
11
+ attr_accessor success: true
12
+
13
+ def initialize: (
14
+ data: ArkEmail::LogEntryDetail,
15
+ meta: ArkEmail::APIMeta,
16
+ ?success: true
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ data: ArkEmail::LogEntryDetail,
21
+ meta: ArkEmail::APIMeta,
22
+ success: true
23
+ }
24
+ end
25
+ end
26
+ end
@@ -27,6 +27,14 @@ module ArkEmail
27
27
 
28
28
  class EmailSendRawParams = ArkEmail::Models::EmailSendRawParams
29
29
 
30
+ class LogEntry = ArkEmail::Models::LogEntry
31
+
32
+ class LogEntryDetail = ArkEmail::Models::LogEntryDetail
33
+
34
+ class LogListParams = ArkEmail::Models::LogListParams
35
+
36
+ class LogRetrieveParams = ArkEmail::Models::LogRetrieveParams
37
+
30
38
  class SuppressionBulkCreateParams = ArkEmail::Models::SuppressionBulkCreateParams
31
39
 
32
40
  class SuppressionCreateParams = ArkEmail::Models::SuppressionCreateParams
@@ -0,0 +1,25 @@
1
+ module ArkEmail
2
+ module Resources
3
+ class Logs
4
+ def retrieve: (
5
+ String request_id,
6
+ ?request_options: ArkEmail::request_opts
7
+ ) -> ArkEmail::Models::LogRetrieveResponse
8
+
9
+ def list: (
10
+ ?credential_id: String,
11
+ ?end_date: Time,
12
+ ?endpoint: String,
13
+ ?page: Integer,
14
+ ?per_page: Integer,
15
+ ?request_id: String,
16
+ ?start_date: Time,
17
+ ?status: ArkEmail::Models::LogListParams::status,
18
+ ?status_code: Integer,
19
+ ?request_options: ArkEmail::request_opts
20
+ ) -> ArkEmail::Internal::PageNumberPagination[ArkEmail::LogEntry]
21
+
22
+ def initialize: (client: ArkEmail::Client) -> void
23
+ end
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ark-email
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-23 00:00:00.000000000 Z
11
+ date: 2026-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -96,6 +96,11 @@ files:
96
96
  - lib/ark_email/models/email_send_raw_params.rb
97
97
  - lib/ark_email/models/email_send_raw_response.rb
98
98
  - lib/ark_email/models/email_send_response.rb
99
+ - lib/ark_email/models/log_entry.rb
100
+ - lib/ark_email/models/log_entry_detail.rb
101
+ - lib/ark_email/models/log_list_params.rb
102
+ - lib/ark_email/models/log_retrieve_params.rb
103
+ - lib/ark_email/models/log_retrieve_response.rb
99
104
  - lib/ark_email/models/suppression_bulk_create_params.rb
100
105
  - lib/ark_email/models/suppression_bulk_create_response.rb
101
106
  - lib/ark_email/models/suppression_create_params.rb
@@ -140,6 +145,7 @@ files:
140
145
  - lib/ark_email/request_options.rb
141
146
  - lib/ark_email/resources/domains.rb
142
147
  - lib/ark_email/resources/emails.rb
148
+ - lib/ark_email/resources/logs.rb
143
149
  - lib/ark_email/resources/suppressions.rb
144
150
  - lib/ark_email/resources/tracking.rb
145
151
  - lib/ark_email/resources/webhooks.rb
@@ -191,6 +197,11 @@ files:
191
197
  - rbi/ark_email/models/email_send_raw_params.rbi
192
198
  - rbi/ark_email/models/email_send_raw_response.rbi
193
199
  - rbi/ark_email/models/email_send_response.rbi
200
+ - rbi/ark_email/models/log_entry.rbi
201
+ - rbi/ark_email/models/log_entry_detail.rbi
202
+ - rbi/ark_email/models/log_list_params.rbi
203
+ - rbi/ark_email/models/log_retrieve_params.rbi
204
+ - rbi/ark_email/models/log_retrieve_response.rbi
194
205
  - rbi/ark_email/models/suppression_bulk_create_params.rbi
195
206
  - rbi/ark_email/models/suppression_bulk_create_response.rbi
196
207
  - rbi/ark_email/models/suppression_create_params.rbi
@@ -235,6 +246,7 @@ files:
235
246
  - rbi/ark_email/request_options.rbi
236
247
  - rbi/ark_email/resources/domains.rbi
237
248
  - rbi/ark_email/resources/emails.rbi
249
+ - rbi/ark_email/resources/logs.rbi
238
250
  - rbi/ark_email/resources/suppressions.rbi
239
251
  - rbi/ark_email/resources/tracking.rbi
240
252
  - rbi/ark_email/resources/webhooks.rbi
@@ -285,6 +297,11 @@ files:
285
297
  - sig/ark_email/models/email_send_raw_params.rbs
286
298
  - sig/ark_email/models/email_send_raw_response.rbs
287
299
  - sig/ark_email/models/email_send_response.rbs
300
+ - sig/ark_email/models/log_entry.rbs
301
+ - sig/ark_email/models/log_entry_detail.rbs
302
+ - sig/ark_email/models/log_list_params.rbs
303
+ - sig/ark_email/models/log_retrieve_params.rbs
304
+ - sig/ark_email/models/log_retrieve_response.rbs
288
305
  - sig/ark_email/models/suppression_bulk_create_params.rbs
289
306
  - sig/ark_email/models/suppression_bulk_create_response.rbs
290
307
  - sig/ark_email/models/suppression_create_params.rbs
@@ -329,6 +346,7 @@ files:
329
346
  - sig/ark_email/request_options.rbs
330
347
  - sig/ark_email/resources/domains.rbs
331
348
  - sig/ark_email/resources/emails.rbs
349
+ - sig/ark_email/resources/logs.rbs
332
350
  - sig/ark_email/resources/suppressions.rbs
333
351
  - sig/ark_email/resources/tracking.rbs
334
352
  - sig/ark_email/resources/webhooks.rbs