ark-email 0.13.0 → 0.15.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +3 -3
  4. data/lib/ark_email/client.rb +8 -0
  5. data/lib/ark_email/models/dns_record.rb +49 -19
  6. data/lib/ark_email/models/domain_create_response.rb +117 -25
  7. data/lib/ark_email/models/domain_list_response.rb +12 -13
  8. data/lib/ark_email/models/domain_retrieve_response.rb +117 -25
  9. data/lib/ark_email/models/domain_verify_response.rb +117 -25
  10. data/lib/ark_email/models/email_retrieve_params.rb +4 -1
  11. data/lib/ark_email/models/email_retrieve_response.rb +177 -1
  12. data/lib/ark_email/models/log_entry.rb +298 -0
  13. data/lib/ark_email/models/log_entry_detail.rb +102 -0
  14. data/lib/ark_email/models/log_list_params.rb +106 -0
  15. data/lib/ark_email/models/log_retrieve_params.rb +14 -0
  16. data/lib/ark_email/models/log_retrieve_response.rb +33 -0
  17. data/lib/ark_email/models/track_domain.rb +6 -2
  18. data/lib/ark_email/models/usage_retrieve_params.rb +14 -0
  19. data/lib/ark_email/models/usage_retrieve_response.rb +270 -0
  20. data/lib/ark_email/models/webhook_create_params.rb +0 -2
  21. data/lib/ark_email/models/webhook_create_response.rb +0 -2
  22. data/lib/ark_email/models/webhook_list_deliveries_params.rb +0 -2
  23. data/lib/ark_email/models/webhook_list_deliveries_response.rb +0 -2
  24. data/lib/ark_email/models/webhook_retrieve_delivery_response.rb +0 -2
  25. data/lib/ark_email/models/webhook_retrieve_response.rb +0 -2
  26. data/lib/ark_email/models/webhook_test_params.rb +0 -2
  27. data/lib/ark_email/models/webhook_update_response.rb +0 -2
  28. data/lib/ark_email/models.rb +10 -0
  29. data/lib/ark_email/resources/logs.rb +120 -0
  30. data/lib/ark_email/resources/usage.rb +51 -0
  31. data/lib/ark_email/version.rb +1 -1
  32. data/lib/ark_email.rb +9 -0
  33. data/rbi/ark_email/client.rbi +6 -0
  34. data/rbi/ark_email/models/dns_record.rbi +57 -22
  35. data/rbi/ark_email/models/domain_create_response.rbi +189 -28
  36. data/rbi/ark_email/models/domain_list_response.rbi +13 -19
  37. data/rbi/ark_email/models/domain_retrieve_response.rbi +191 -28
  38. data/rbi/ark_email/models/domain_verify_response.rbi +189 -28
  39. data/rbi/ark_email/models/email_retrieve_params.rbi +8 -2
  40. data/rbi/ark_email/models/email_retrieve_response.rbi +379 -0
  41. data/rbi/ark_email/models/log_entry.rbi +431 -0
  42. data/rbi/ark_email/models/log_entry_detail.rbi +192 -0
  43. data/rbi/ark_email/models/log_list_params.rbi +163 -0
  44. data/rbi/ark_email/models/log_retrieve_params.rbi +27 -0
  45. data/rbi/ark_email/models/log_retrieve_response.rbi +59 -0
  46. data/rbi/ark_email/models/track_domain.rbi +4 -2
  47. data/rbi/ark_email/models/usage_retrieve_params.rbi +27 -0
  48. data/rbi/ark_email/models/usage_retrieve_response.rbi +511 -0
  49. data/rbi/ark_email/models/webhook_create_params.rbi +0 -10
  50. data/rbi/ark_email/models/webhook_create_response.rbi +0 -10
  51. data/rbi/ark_email/models/webhook_list_deliveries_params.rbi +0 -10
  52. data/rbi/ark_email/models/webhook_list_deliveries_response.rbi +0 -10
  53. data/rbi/ark_email/models/webhook_retrieve_delivery_response.rbi +0 -10
  54. data/rbi/ark_email/models/webhook_retrieve_response.rbi +0 -10
  55. data/rbi/ark_email/models/webhook_test_params.rbi +0 -10
  56. data/rbi/ark_email/models/webhook_update_response.rbi +0 -10
  57. data/rbi/ark_email/models.rbi +10 -0
  58. data/rbi/ark_email/resources/emails.rbi +4 -1
  59. data/rbi/ark_email/resources/logs.rbi +104 -0
  60. data/rbi/ark_email/resources/usage.rbi +40 -0
  61. data/sig/ark_email/client.rbs +4 -0
  62. data/sig/ark_email/models/dns_record.rbs +5 -0
  63. data/sig/ark_email/models/domain_create_response.rbs +27 -20
  64. data/sig/ark_email/models/domain_list_response.rbs +4 -16
  65. data/sig/ark_email/models/domain_retrieve_response.rbs +27 -20
  66. data/sig/ark_email/models/domain_verify_response.rbs +27 -20
  67. data/sig/ark_email/models/email_retrieve_response.rbs +179 -0
  68. data/sig/ark_email/models/log_entry.rbs +209 -0
  69. data/sig/ark_email/models/log_entry_detail.rbs +97 -0
  70. data/sig/ark_email/models/log_list_params.rbs +97 -0
  71. data/sig/ark_email/models/log_retrieve_params.rbs +15 -0
  72. data/sig/ark_email/models/log_retrieve_response.rbs +26 -0
  73. data/sig/ark_email/models/usage_retrieve_params.rbs +15 -0
  74. data/sig/ark_email/models/usage_retrieve_response.rbs +212 -0
  75. data/sig/ark_email/models/webhook_create_params.rbs +0 -4
  76. data/sig/ark_email/models/webhook_create_response.rbs +0 -4
  77. data/sig/ark_email/models/webhook_list_deliveries_params.rbs +0 -4
  78. data/sig/ark_email/models/webhook_list_deliveries_response.rbs +0 -4
  79. data/sig/ark_email/models/webhook_retrieve_delivery_response.rbs +0 -4
  80. data/sig/ark_email/models/webhook_retrieve_response.rbs +0 -4
  81. data/sig/ark_email/models/webhook_test_params.rbs +0 -4
  82. data/sig/ark_email/models/webhook_update_response.rbs +0 -4
  83. data/sig/ark_email/models.rbs +10 -0
  84. data/sig/ark_email/resources/logs.rbs +25 -0
  85. data/sig/ark_email/resources/usage.rbs +11 -0
  86. metadata +29 -2
@@ -0,0 +1,298 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Logs#list
6
+ class LogEntry < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute context
8
+ # Request context information
9
+ #
10
+ # @return [ArkEmail::Models::LogEntry::Context]
11
+ required :context, -> { ArkEmail::LogEntry::Context }
12
+
13
+ # @!attribute credential
14
+ # API credential information
15
+ #
16
+ # @return [ArkEmail::Models::LogEntry::Credential]
17
+ required :credential, -> { ArkEmail::LogEntry::Credential }
18
+
19
+ # @!attribute duration_ms
20
+ # Request duration in milliseconds
21
+ #
22
+ # @return [Integer]
23
+ required :duration_ms, Integer, api_name: :durationMs
24
+
25
+ # @!attribute endpoint
26
+ # Semantic endpoint name
27
+ #
28
+ # @return [String]
29
+ required :endpoint, String
30
+
31
+ # @!attribute method_
32
+ # HTTP method
33
+ #
34
+ # @return [Symbol, ArkEmail::Models::LogEntry::Method]
35
+ required :method_, enum: -> { ArkEmail::LogEntry::Method }, api_name: :method
36
+
37
+ # @!attribute path
38
+ # Request path
39
+ #
40
+ # @return [String]
41
+ required :path, String
42
+
43
+ # @!attribute rate_limit
44
+ # Rate limit state at time of request
45
+ #
46
+ # @return [ArkEmail::Models::LogEntry::RateLimit]
47
+ required :rate_limit, -> { ArkEmail::LogEntry::RateLimit }, api_name: :rateLimit
48
+
49
+ # @!attribute request_id
50
+ # Unique request identifier
51
+ #
52
+ # @return [String]
53
+ required :request_id, String, api_name: :requestId
54
+
55
+ # @!attribute status_code
56
+ # HTTP response status code
57
+ #
58
+ # @return [Integer]
59
+ required :status_code, Integer, api_name: :statusCode
60
+
61
+ # @!attribute timestamp
62
+ # When the request was made (ISO 8601)
63
+ #
64
+ # @return [Time]
65
+ required :timestamp, Time
66
+
67
+ # @!attribute email
68
+ # Email-specific data (for email endpoints)
69
+ #
70
+ # @return [ArkEmail::Models::LogEntry::Email, nil]
71
+ optional :email, -> { ArkEmail::LogEntry::Email }, nil?: true
72
+
73
+ # @!attribute error
74
+ # Error details (null if request succeeded)
75
+ #
76
+ # @return [ArkEmail::Models::LogEntry::Error, nil]
77
+ optional :error, -> { ArkEmail::LogEntry::Error }, nil?: true
78
+
79
+ # @!attribute sdk
80
+ # SDK information (null if not using an SDK)
81
+ #
82
+ # @return [ArkEmail::Models::LogEntry::SDK, nil]
83
+ optional :sdk, -> { ArkEmail::LogEntry::SDK }, nil?: true
84
+
85
+ # @!method initialize(context:, credential:, duration_ms:, endpoint:, method_:, path:, rate_limit:, request_id:, status_code:, timestamp:, email: nil, error: nil, sdk: nil)
86
+ # API request log entry (list view)
87
+ #
88
+ # @param context [ArkEmail::Models::LogEntry::Context] Request context information
89
+ #
90
+ # @param credential [ArkEmail::Models::LogEntry::Credential] API credential information
91
+ #
92
+ # @param duration_ms [Integer] Request duration in milliseconds
93
+ #
94
+ # @param endpoint [String] Semantic endpoint name
95
+ #
96
+ # @param method_ [Symbol, ArkEmail::Models::LogEntry::Method] HTTP method
97
+ #
98
+ # @param path [String] Request path
99
+ #
100
+ # @param rate_limit [ArkEmail::Models::LogEntry::RateLimit] Rate limit state at time of request
101
+ #
102
+ # @param request_id [String] Unique request identifier
103
+ #
104
+ # @param status_code [Integer] HTTP response status code
105
+ #
106
+ # @param timestamp [Time] When the request was made (ISO 8601)
107
+ #
108
+ # @param email [ArkEmail::Models::LogEntry::Email, nil] Email-specific data (for email endpoints)
109
+ #
110
+ # @param error [ArkEmail::Models::LogEntry::Error, nil] Error details (null if request succeeded)
111
+ #
112
+ # @param sdk [ArkEmail::Models::LogEntry::SDK, nil] SDK information (null if not using an SDK)
113
+
114
+ # @see ArkEmail::Models::LogEntry#context
115
+ class Context < ArkEmail::Internal::Type::BaseModel
116
+ # @!attribute idempotency_key
117
+ # Idempotency key if provided
118
+ #
119
+ # @return [String, nil]
120
+ optional :idempotency_key, String, api_name: :idempotencyKey, nil?: true
121
+
122
+ # @!attribute ip_address
123
+ # Client IP address
124
+ #
125
+ # @return [String, nil]
126
+ optional :ip_address, String, api_name: :ipAddress, nil?: true
127
+
128
+ # @!attribute query_params
129
+ # Query parameters
130
+ #
131
+ # @return [Hash{Symbol=>Object}, nil]
132
+ optional :query_params,
133
+ ArkEmail::Internal::Type::HashOf[ArkEmail::Internal::Type::Unknown],
134
+ api_name: :queryParams,
135
+ nil?: true
136
+
137
+ # @!attribute user_agent
138
+ # User-Agent header
139
+ #
140
+ # @return [String, nil]
141
+ optional :user_agent, String, api_name: :userAgent, nil?: true
142
+
143
+ # @!method initialize(idempotency_key: nil, ip_address: nil, query_params: nil, user_agent: nil)
144
+ # Request context information
145
+ #
146
+ # @param idempotency_key [String, nil] Idempotency key if provided
147
+ #
148
+ # @param ip_address [String, nil] Client IP address
149
+ #
150
+ # @param query_params [Hash{Symbol=>Object}, nil] Query parameters
151
+ #
152
+ # @param user_agent [String, nil] User-Agent header
153
+ end
154
+
155
+ # @see ArkEmail::Models::LogEntry#credential
156
+ class Credential < ArkEmail::Internal::Type::BaseModel
157
+ # @!attribute id
158
+ # Credential ID
159
+ #
160
+ # @return [String]
161
+ required :id, String
162
+
163
+ # @!attribute key_prefix
164
+ # API key prefix (first 8 characters)
165
+ #
166
+ # @return [String, nil]
167
+ optional :key_prefix, String, api_name: :keyPrefix, nil?: true
168
+
169
+ # @!method initialize(id:, key_prefix: nil)
170
+ # API credential information
171
+ #
172
+ # @param id [String] Credential ID
173
+ #
174
+ # @param key_prefix [String, nil] API key prefix (first 8 characters)
175
+ end
176
+
177
+ # HTTP method
178
+ #
179
+ # @see ArkEmail::Models::LogEntry#method_
180
+ module Method
181
+ extend ArkEmail::Internal::Type::Enum
182
+
183
+ GET = :GET
184
+ POST = :POST
185
+ PUT = :PUT
186
+ PATCH = :PATCH
187
+ DELETE = :DELETE
188
+
189
+ # @!method self.values
190
+ # @return [Array<Symbol>]
191
+ end
192
+
193
+ # @see ArkEmail::Models::LogEntry#rate_limit
194
+ class RateLimit < ArkEmail::Internal::Type::BaseModel
195
+ # @!attribute limit
196
+ # Rate limit ceiling
197
+ #
198
+ # @return [Integer, nil]
199
+ optional :limit, Integer, nil?: true
200
+
201
+ # @!attribute limited
202
+ # Whether the request was rate limited
203
+ #
204
+ # @return [Boolean, nil]
205
+ optional :limited, ArkEmail::Internal::Type::Boolean
206
+
207
+ # @!attribute remaining
208
+ # Remaining requests in window
209
+ #
210
+ # @return [Integer, nil]
211
+ optional :remaining, Integer, nil?: true
212
+
213
+ # @!attribute reset
214
+ # Unix timestamp when limit resets
215
+ #
216
+ # @return [Integer, nil]
217
+ optional :reset, Integer, nil?: true
218
+
219
+ # @!method initialize(limit: nil, limited: nil, remaining: nil, reset: nil)
220
+ # Rate limit state at time of request
221
+ #
222
+ # @param limit [Integer, nil] Rate limit ceiling
223
+ #
224
+ # @param limited [Boolean] Whether the request was rate limited
225
+ #
226
+ # @param remaining [Integer, nil] Remaining requests in window
227
+ #
228
+ # @param reset [Integer, nil] Unix timestamp when limit resets
229
+ end
230
+
231
+ # @see ArkEmail::Models::LogEntry#email
232
+ class Email < ArkEmail::Internal::Type::BaseModel
233
+ # @!attribute id
234
+ # Email message ID
235
+ #
236
+ # @return [String, nil]
237
+ optional :id, String
238
+
239
+ # @!attribute recipient_count
240
+ # Number of recipients
241
+ #
242
+ # @return [Integer, nil]
243
+ optional :recipient_count, Integer, api_name: :recipientCount, nil?: true
244
+
245
+ # @!method initialize(id: nil, recipient_count: nil)
246
+ # Email-specific data (for email endpoints)
247
+ #
248
+ # @param id [String] Email message ID
249
+ #
250
+ # @param recipient_count [Integer, nil] Number of recipients
251
+ end
252
+
253
+ # @see ArkEmail::Models::LogEntry#error
254
+ class Error < ArkEmail::Internal::Type::BaseModel
255
+ # @!attribute code
256
+ # Error code
257
+ #
258
+ # @return [String, nil]
259
+ optional :code, String
260
+
261
+ # @!attribute message
262
+ # Error message
263
+ #
264
+ # @return [String, nil]
265
+ optional :message, String, nil?: true
266
+
267
+ # @!method initialize(code: nil, message: nil)
268
+ # Error details (null if request succeeded)
269
+ #
270
+ # @param code [String] Error code
271
+ #
272
+ # @param message [String, nil] Error message
273
+ end
274
+
275
+ # @see ArkEmail::Models::LogEntry#sdk
276
+ class SDK < ArkEmail::Internal::Type::BaseModel
277
+ # @!attribute name
278
+ # SDK name
279
+ #
280
+ # @return [String, nil]
281
+ optional :name, String
282
+
283
+ # @!attribute version
284
+ # SDK version
285
+ #
286
+ # @return [String, nil]
287
+ optional :version, String, nil?: true
288
+
289
+ # @!method initialize(name: nil, version: nil)
290
+ # SDK information (null if not using an SDK)
291
+ #
292
+ # @param name [String] SDK name
293
+ #
294
+ # @param version [String, nil] SDK version
295
+ end
296
+ end
297
+ end
298
+ end
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ class LogEntryDetail < ArkEmail::Models::LogEntry
6
+ # @!attribute request
7
+ # Request body information
8
+ #
9
+ # @return [ArkEmail::Models::LogEntryDetail::Request, nil]
10
+ optional :request, -> { ArkEmail::LogEntryDetail::Request }
11
+
12
+ # @!attribute response
13
+ # Response body information
14
+ #
15
+ # @return [ArkEmail::Models::LogEntryDetail::Response, nil]
16
+ optional :response, -> { ArkEmail::LogEntryDetail::Response }
17
+
18
+ # @!method initialize(request: nil, response: nil)
19
+ # Full API request log entry with bodies
20
+ #
21
+ # @param request [ArkEmail::Models::LogEntryDetail::Request] Request body information
22
+ #
23
+ # @param response [ArkEmail::Models::LogEntryDetail::Response] Response body information
24
+
25
+ class Request < ArkEmail::Internal::Type::BaseModel
26
+ # @!attribute body
27
+ # Decrypted request body (JSON or string). Bodies over 25KB are truncated.
28
+ #
29
+ # @return [Hash{Symbol=>Object}, String, nil]
30
+ optional :body, union: -> { ArkEmail::LogEntryDetail::Request::Body }, nil?: true
31
+
32
+ # @!attribute body_size
33
+ # Original request body size in bytes
34
+ #
35
+ # @return [Integer, nil]
36
+ optional :body_size, Integer, api_name: :bodySize, nil?: true
37
+
38
+ # @!method initialize(body: nil, body_size: nil)
39
+ # Request body information
40
+ #
41
+ # @param body [Hash{Symbol=>Object}, String, nil] Decrypted request body (JSON or string). Bodies over 25KB are truncated.
42
+ #
43
+ # @param body_size [Integer, nil] Original request body size in bytes
44
+
45
+ # Decrypted request body (JSON or string). Bodies over 25KB are truncated.
46
+ #
47
+ # @see ArkEmail::Models::LogEntryDetail::Request#body
48
+ module Body
49
+ extend ArkEmail::Internal::Type::Union
50
+
51
+ variant -> { ArkEmail::Models::LogEntryDetail::Request::Body::UnionMember0Map }
52
+
53
+ variant String
54
+
55
+ # @!method self.variants
56
+ # @return [Array(Hash{Symbol=>Object}, String)]
57
+
58
+ # @type [ArkEmail::Internal::Type::Converter]
59
+ UnionMember0Map = ArkEmail::Internal::Type::HashOf[ArkEmail::Internal::Type::Unknown]
60
+ end
61
+ end
62
+
63
+ class Response < ArkEmail::Internal::Type::BaseModel
64
+ # @!attribute body
65
+ # Decrypted response body (JSON or string). Bodies over 25KB are truncated.
66
+ #
67
+ # @return [Hash{Symbol=>Object}, String, nil]
68
+ optional :body, union: -> { ArkEmail::LogEntryDetail::Response::Body }, nil?: true
69
+
70
+ # @!attribute body_size
71
+ # Response body size in bytes
72
+ #
73
+ # @return [Integer, nil]
74
+ optional :body_size, Integer, api_name: :bodySize, nil?: true
75
+
76
+ # @!method initialize(body: nil, body_size: nil)
77
+ # Response body information
78
+ #
79
+ # @param body [Hash{Symbol=>Object}, String, nil] Decrypted response body (JSON or string). Bodies over 25KB are truncated.
80
+ #
81
+ # @param body_size [Integer, nil] Response body size in bytes
82
+
83
+ # Decrypted response body (JSON or string). Bodies over 25KB are truncated.
84
+ #
85
+ # @see ArkEmail::Models::LogEntryDetail::Response#body
86
+ module Body
87
+ extend ArkEmail::Internal::Type::Union
88
+
89
+ variant -> { ArkEmail::Models::LogEntryDetail::Response::Body::UnionMember0Map }
90
+
91
+ variant String
92
+
93
+ # @!method self.variants
94
+ # @return [Array(Hash{Symbol=>Object}, String)]
95
+
96
+ # @type [ArkEmail::Internal::Type::Converter]
97
+ UnionMember0Map = ArkEmail::Internal::Type::HashOf[ArkEmail::Internal::Type::Unknown]
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Logs#list
6
+ class LogListParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute credential_id
11
+ # Filter by API credential ID
12
+ #
13
+ # @return [String, nil]
14
+ optional :credential_id, String
15
+
16
+ # @!attribute end_date
17
+ # Filter logs before this date (ISO 8601 format)
18
+ #
19
+ # @return [Time, nil]
20
+ optional :end_date, Time
21
+
22
+ # @!attribute endpoint
23
+ # Filter by endpoint name
24
+ #
25
+ # @return [String, nil]
26
+ optional :endpoint, String
27
+
28
+ # @!attribute page
29
+ # Page number
30
+ #
31
+ # @return [Integer, nil]
32
+ optional :page, Integer
33
+
34
+ # @!attribute per_page
35
+ # Results per page (max 100)
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :per_page, Integer
39
+
40
+ # @!attribute request_id
41
+ # Filter by request ID (partial match)
42
+ #
43
+ # @return [String, nil]
44
+ optional :request_id, String
45
+
46
+ # @!attribute start_date
47
+ # Filter logs after this date (ISO 8601 format)
48
+ #
49
+ # @return [Time, nil]
50
+ optional :start_date, Time
51
+
52
+ # @!attribute status
53
+ # Filter by status category:
54
+ #
55
+ # - `success` - Status codes < 400
56
+ # - `error` - Status codes >= 400
57
+ #
58
+ # @return [Symbol, ArkEmail::Models::LogListParams::Status, nil]
59
+ optional :status, enum: -> { ArkEmail::LogListParams::Status }
60
+
61
+ # @!attribute status_code
62
+ # Filter by exact HTTP status code (100-599)
63
+ #
64
+ # @return [Integer, nil]
65
+ optional :status_code, Integer
66
+
67
+ # @!method initialize(credential_id: nil, end_date: nil, endpoint: nil, page: nil, per_page: nil, request_id: nil, start_date: nil, status: nil, status_code: nil, request_options: {})
68
+ # Some parameter documentations has been truncated, see
69
+ # {ArkEmail::Models::LogListParams} for more details.
70
+ #
71
+ # @param credential_id [String] Filter by API credential ID
72
+ #
73
+ # @param end_date [Time] Filter logs before this date (ISO 8601 format)
74
+ #
75
+ # @param endpoint [String] Filter by endpoint name
76
+ #
77
+ # @param page [Integer] Page number
78
+ #
79
+ # @param per_page [Integer] Results per page (max 100)
80
+ #
81
+ # @param request_id [String] Filter by request ID (partial match)
82
+ #
83
+ # @param start_date [Time] Filter logs after this date (ISO 8601 format)
84
+ #
85
+ # @param status [Symbol, ArkEmail::Models::LogListParams::Status] Filter by status category:
86
+ #
87
+ # @param status_code [Integer] Filter by exact HTTP status code (100-599)
88
+ #
89
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
90
+
91
+ # Filter by status category:
92
+ #
93
+ # - `success` - Status codes < 400
94
+ # - `error` - Status codes >= 400
95
+ module Status
96
+ extend ArkEmail::Internal::Type::Enum
97
+
98
+ SUCCESS = :success
99
+ ERROR = :error
100
+
101
+ # @!method self.values
102
+ # @return [Array<Symbol>]
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Logs#retrieve
6
+ class LogRetrieveParams < 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,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Logs#retrieve
6
+ class LogRetrieveResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # Full API request log entry with bodies
9
+ #
10
+ # @return [ArkEmail::Models::LogEntryDetail]
11
+ required :data, -> { ArkEmail::LogEntryDetail }
12
+
13
+ # @!attribute meta
14
+ #
15
+ # @return [ArkEmail::Models::APIMeta]
16
+ required :meta, -> { ArkEmail::APIMeta }
17
+
18
+ # @!attribute success
19
+ #
20
+ # @return [Boolean, true]
21
+ required :success, const: true
22
+
23
+ # @!method initialize(data:, meta:, success: true)
24
+ # Detailed API request log with request/response bodies
25
+ #
26
+ # @param data [ArkEmail::Models::LogEntryDetail] Full API request log entry with bodies
27
+ #
28
+ # @param meta [ArkEmail::Models::APIMeta]
29
+ #
30
+ # @param success [Boolean, true]
31
+ end
32
+ end
33
+ end
@@ -16,7 +16,8 @@ module ArkEmail
16
16
  required :created_at, Time, api_name: :createdAt
17
17
 
18
18
  # @!attribute dns_ok
19
- # Whether DNS is correctly configured
19
+ # Whether the tracking CNAME record is correctly configured. Must be true to use
20
+ # tracking features.
20
21
  #
21
22
  # @return [Boolean]
22
23
  required :dns_ok, ArkEmail::Internal::Type::Boolean, api_name: :dnsOk
@@ -94,11 +95,14 @@ module ArkEmail
94
95
  optional :updated_at, Time, api_name: :updatedAt, nil?: true
95
96
 
96
97
  # @!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)
98
+ # Some parameter documentations has been truncated, see
99
+ # {ArkEmail::Models::TrackDomain} for more details.
100
+ #
97
101
  # @param id [String] Track domain ID
98
102
  #
99
103
  # @param created_at [Time] When the track domain was created
100
104
  #
101
- # @param dns_ok [Boolean] Whether DNS is correctly configured
105
+ # @param dns_ok [Boolean] Whether the tracking CNAME record is correctly configured. Must be true to use t
102
106
  #
103
107
  # @param domain_id [String] ID of the parent sending domain
104
108
  #
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Usage#retrieve
6
+ class UsageRetrieveParams < 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