ark-email 0.17.0 → 0.18.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/ark_email/client.rb +4 -0
  5. data/lib/ark_email/internal/transport/pooled_net_requester.rb +1 -1
  6. data/lib/ark_email/models/email_retrieve_deliveries_response.rb +80 -5
  7. data/lib/ark_email/models/email_retrieve_response.rb +79 -5
  8. data/lib/ark_email/models/tenant.rb +95 -0
  9. data/lib/ark_email/models/tenant_create_params.rb +57 -0
  10. data/lib/ark_email/models/tenant_create_response.rb +28 -0
  11. data/lib/ark_email/models/tenant_delete_params.rb +14 -0
  12. data/lib/ark_email/models/tenant_delete_response.rb +39 -0
  13. data/lib/ark_email/models/tenant_list_params.rb +50 -0
  14. data/lib/ark_email/models/tenant_retrieve_params.rb +14 -0
  15. data/lib/ark_email/models/tenant_retrieve_response.rb +28 -0
  16. data/lib/ark_email/models/tenant_update_params.rb +77 -0
  17. data/lib/ark_email/models/tenant_update_response.rb +28 -0
  18. data/lib/ark_email/models.rb +12 -0
  19. data/lib/ark_email/resources/tenants.rb +144 -0
  20. data/lib/ark_email/version.rb +1 -1
  21. data/lib/ark_email.rb +11 -0
  22. data/rbi/ark_email/client.rbi +3 -0
  23. data/rbi/ark_email/models/email_retrieve_deliveries_response.rbi +166 -7
  24. data/rbi/ark_email/models/email_retrieve_response.rbi +166 -7
  25. data/rbi/ark_email/models/tenant.rbi +121 -0
  26. data/rbi/ark_email/models/tenant_create_params.rbi +100 -0
  27. data/rbi/ark_email/models/tenant_create_response.rbi +52 -0
  28. data/rbi/ark_email/models/tenant_delete_params.rbi +27 -0
  29. data/rbi/ark_email/models/tenant_delete_response.rbi +75 -0
  30. data/rbi/ark_email/models/tenant_list_params.rbi +92 -0
  31. data/rbi/ark_email/models/tenant_retrieve_params.rbi +27 -0
  32. data/rbi/ark_email/models/tenant_retrieve_response.rbi +52 -0
  33. data/rbi/ark_email/models/tenant_update_params.rbi +140 -0
  34. data/rbi/ark_email/models/tenant_update_response.rbi +52 -0
  35. data/rbi/ark_email/models.rbi +12 -0
  36. data/rbi/ark_email/resources/tenants.rbi +131 -0
  37. data/sig/ark_email/client.rbs +2 -0
  38. data/sig/ark_email/models/email_retrieve_deliveries_response.rbs +58 -3
  39. data/sig/ark_email/models/email_retrieve_response.rbs +58 -3
  40. data/sig/ark_email/models/tenant.rbs +65 -0
  41. data/sig/ark_email/models/tenant_create_params.rbs +39 -0
  42. data/sig/ark_email/models/tenant_create_response.rbs +26 -0
  43. data/sig/ark_email/models/tenant_delete_params.rbs +15 -0
  44. data/sig/ark_email/models/tenant_delete_response.rbs +40 -0
  45. data/sig/ark_email/models/tenant_list_params.rbs +56 -0
  46. data/sig/ark_email/models/tenant_retrieve_params.rbs +15 -0
  47. data/sig/ark_email/models/tenant_retrieve_response.rbs +26 -0
  48. data/sig/ark_email/models/tenant_update_params.rbs +62 -0
  49. data/sig/ark_email/models/tenant_update_response.rbs +26 -0
  50. data/sig/ark_email/models.rbs +12 -0
  51. data/sig/ark_email/resources/tenants.rbs +38 -0
  52. metadata +35 -2
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tenants#update
6
+ class TenantUpdateParams < ArkEmail::Internal::Type::BaseModel
7
+ extend ArkEmail::Internal::Type::RequestParameters::Converter
8
+ include ArkEmail::Internal::Type::RequestParameters
9
+
10
+ # @!attribute metadata
11
+ # Custom key-value pairs. Useful for storing references to your internal systems.
12
+ #
13
+ # **Limits:**
14
+ #
15
+ # - Max 50 keys
16
+ # - Key names max 40 characters
17
+ # - String values max 500 characters
18
+ # - Total size max 8KB
19
+ #
20
+ # @return [Hash{Symbol=>String, Float, Boolean, nil}, nil]
21
+ optional :metadata,
22
+ -> {
23
+ ArkEmail::Internal::Type::HashOf[union: ArkEmail::TenantUpdateParams::Metadata, nil?: true]
24
+ },
25
+ nil?: true
26
+
27
+ # @!attribute name
28
+ # Display name for the tenant
29
+ #
30
+ # @return [String, nil]
31
+ optional :name, String
32
+
33
+ # @!attribute status
34
+ # Tenant status
35
+ #
36
+ # @return [Symbol, ArkEmail::Models::TenantUpdateParams::Status, nil]
37
+ optional :status, enum: -> { ArkEmail::TenantUpdateParams::Status }
38
+
39
+ # @!method initialize(metadata: nil, name: nil, status: nil, request_options: {})
40
+ # Some parameter documentations has been truncated, see
41
+ # {ArkEmail::Models::TenantUpdateParams} for more details.
42
+ #
43
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, nil}, nil] Custom key-value pairs. Useful for storing references to your internal systems.
44
+ #
45
+ # @param name [String] Display name for the tenant
46
+ #
47
+ # @param status [Symbol, ArkEmail::Models::TenantUpdateParams::Status] Tenant status
48
+ #
49
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
50
+
51
+ module Metadata
52
+ extend ArkEmail::Internal::Type::Union
53
+
54
+ variant String
55
+
56
+ variant Float
57
+
58
+ variant ArkEmail::Internal::Type::Boolean
59
+
60
+ # @!method self.variants
61
+ # @return [Array(String, Float, Boolean)]
62
+ end
63
+
64
+ # Tenant status
65
+ module Status
66
+ extend ArkEmail::Internal::Type::Enum
67
+
68
+ ACTIVE = :active
69
+ SUSPENDED = :suspended
70
+ ARCHIVED = :archived
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Models
5
+ # @see ArkEmail::Resources::Tenants#update
6
+ class TenantUpdateResponse < ArkEmail::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [ArkEmail::Models::Tenant]
10
+ required :data, -> { ArkEmail::Tenant }
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::Tenant]
24
+ # @param meta [ArkEmail::Models::APIMeta]
25
+ # @param success [Boolean, true]
26
+ end
27
+ end
28
+ end
@@ -85,6 +85,18 @@ module ArkEmail
85
85
 
86
86
  SuppressionRetrieveParams = ArkEmail::Models::SuppressionRetrieveParams
87
87
 
88
+ Tenant = ArkEmail::Models::Tenant
89
+
90
+ TenantCreateParams = ArkEmail::Models::TenantCreateParams
91
+
92
+ TenantDeleteParams = ArkEmail::Models::TenantDeleteParams
93
+
94
+ TenantListParams = ArkEmail::Models::TenantListParams
95
+
96
+ TenantRetrieveParams = ArkEmail::Models::TenantRetrieveParams
97
+
98
+ TenantUpdateParams = ArkEmail::Models::TenantUpdateParams
99
+
88
100
  TrackDomain = ArkEmail::Models::TrackDomain
89
101
 
90
102
  TrackingCreateParams = ArkEmail::Models::TrackingCreateParams
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ArkEmail
4
+ module Resources
5
+ class Tenants
6
+ # Some parameter documentations has been truncated, see
7
+ # {ArkEmail::Models::TenantCreateParams} for more details.
8
+ #
9
+ # Create a new tenant.
10
+ #
11
+ # Returns the created tenant with a unique `id`. Store this ID in your database to
12
+ # reference this tenant later.
13
+ #
14
+ # @overload create(name:, metadata: nil, request_options: {})
15
+ #
16
+ # @param name [String] Display name for the tenant (e.g., your customer's company name)
17
+ #
18
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, nil}, nil] Custom key-value pairs. Useful for storing references to your internal systems.
19
+ #
20
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [ArkEmail::Models::TenantCreateResponse]
23
+ #
24
+ # @see ArkEmail::Models::TenantCreateParams
25
+ def create(params)
26
+ parsed, options = ArkEmail::TenantCreateParams.dump_request(params)
27
+ @client.request(
28
+ method: :post,
29
+ path: "tenants",
30
+ body: parsed,
31
+ model: ArkEmail::Models::TenantCreateResponse,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # Get a tenant by ID.
37
+ #
38
+ # @overload retrieve(tenant_id, request_options: {})
39
+ #
40
+ # @param tenant_id [String] The tenant ID
41
+ #
42
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [ArkEmail::Models::TenantRetrieveResponse]
45
+ #
46
+ # @see ArkEmail::Models::TenantRetrieveParams
47
+ def retrieve(tenant_id, params = {})
48
+ @client.request(
49
+ method: :get,
50
+ path: ["tenants/%1$s", tenant_id],
51
+ model: ArkEmail::Models::TenantRetrieveResponse,
52
+ options: params[:request_options]
53
+ )
54
+ end
55
+
56
+ # Some parameter documentations has been truncated, see
57
+ # {ArkEmail::Models::TenantUpdateParams} for more details.
58
+ #
59
+ # Update a tenant's name, metadata, or status. At least one field is required.
60
+ #
61
+ # Metadata is replaced entirely—include all keys you want to keep.
62
+ #
63
+ # @overload update(tenant_id, metadata: nil, name: nil, status: nil, request_options: {})
64
+ #
65
+ # @param tenant_id [String] The tenant ID
66
+ #
67
+ # @param metadata [Hash{Symbol=>String, Float, Boolean, nil}, nil] Custom key-value pairs. Useful for storing references to your internal systems.
68
+ #
69
+ # @param name [String] Display name for the tenant
70
+ #
71
+ # @param status [Symbol, ArkEmail::Models::TenantUpdateParams::Status] Tenant status
72
+ #
73
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
74
+ #
75
+ # @return [ArkEmail::Models::TenantUpdateResponse]
76
+ #
77
+ # @see ArkEmail::Models::TenantUpdateParams
78
+ def update(tenant_id, params = {})
79
+ parsed, options = ArkEmail::TenantUpdateParams.dump_request(params)
80
+ @client.request(
81
+ method: :patch,
82
+ path: ["tenants/%1$s", tenant_id],
83
+ body: parsed,
84
+ model: ArkEmail::Models::TenantUpdateResponse,
85
+ options: options
86
+ )
87
+ end
88
+
89
+ # List all tenants with pagination. Filter by `status` if needed.
90
+ #
91
+ # @overload list(page: nil, per_page: nil, status: nil, request_options: {})
92
+ #
93
+ # @param page [Integer] Page number (1-indexed)
94
+ #
95
+ # @param per_page [Integer] Number of items per page (max 100)
96
+ #
97
+ # @param status [Symbol, ArkEmail::Models::TenantListParams::Status] Filter by tenant status
98
+ #
99
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
100
+ #
101
+ # @return [ArkEmail::Internal::PageNumberPagination<ArkEmail::Models::Tenant>]
102
+ #
103
+ # @see ArkEmail::Models::TenantListParams
104
+ def list(params = {})
105
+ parsed, options = ArkEmail::TenantListParams.dump_request(params)
106
+ @client.request(
107
+ method: :get,
108
+ path: "tenants",
109
+ query: parsed.transform_keys(per_page: "perPage"),
110
+ page: ArkEmail::Internal::PageNumberPagination,
111
+ model: ArkEmail::Tenant,
112
+ options: options
113
+ )
114
+ end
115
+
116
+ # Permanently delete a tenant. This cannot be undone.
117
+ #
118
+ # @overload delete(tenant_id, request_options: {})
119
+ #
120
+ # @param tenant_id [String] The tenant ID
121
+ #
122
+ # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
123
+ #
124
+ # @return [ArkEmail::Models::TenantDeleteResponse]
125
+ #
126
+ # @see ArkEmail::Models::TenantDeleteParams
127
+ def delete(tenant_id, params = {})
128
+ @client.request(
129
+ method: :delete,
130
+ path: ["tenants/%1$s", tenant_id],
131
+ model: ArkEmail::Models::TenantDeleteResponse,
132
+ options: params[:request_options]
133
+ )
134
+ end
135
+
136
+ # @api private
137
+ #
138
+ # @param client [ArkEmail::Client]
139
+ def initialize(client:)
140
+ @client = client
141
+ end
142
+ end
143
+ end
144
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ArkEmail
4
- VERSION = "0.17.0"
4
+ VERSION = "0.18.0"
5
5
  end
data/lib/ark_email.rb CHANGED
@@ -94,6 +94,16 @@ require_relative "ark_email/models/suppression_list_params"
94
94
  require_relative "ark_email/models/suppression_list_response"
95
95
  require_relative "ark_email/models/suppression_retrieve_params"
96
96
  require_relative "ark_email/models/suppression_retrieve_response"
97
+ require_relative "ark_email/models/tenant"
98
+ require_relative "ark_email/models/tenant_create_params"
99
+ require_relative "ark_email/models/tenant_create_response"
100
+ require_relative "ark_email/models/tenant_delete_params"
101
+ require_relative "ark_email/models/tenant_delete_response"
102
+ require_relative "ark_email/models/tenant_list_params"
103
+ require_relative "ark_email/models/tenant_retrieve_params"
104
+ require_relative "ark_email/models/tenant_retrieve_response"
105
+ require_relative "ark_email/models/tenant_update_params"
106
+ require_relative "ark_email/models/tenant_update_response"
97
107
  require_relative "ark_email/models/track_domain"
98
108
  require_relative "ark_email/models/tracking_create_params"
99
109
  require_relative "ark_email/models/tracking_create_response"
@@ -132,6 +142,7 @@ require_relative "ark_email/resources/domains"
132
142
  require_relative "ark_email/resources/emails"
133
143
  require_relative "ark_email/resources/logs"
134
144
  require_relative "ark_email/resources/suppressions"
145
+ require_relative "ark_email/resources/tenants"
135
146
  require_relative "ark_email/resources/tracking"
136
147
  require_relative "ark_email/resources/usage"
137
148
  require_relative "ark_email/resources/webhooks"
@@ -40,6 +40,9 @@ module ArkEmail
40
40
  sig { returns(ArkEmail::Resources::Usage) }
41
41
  attr_reader :usage
42
42
 
43
+ sig { returns(ArkEmail::Resources::Tenants) }
44
+ attr_reader :tenants
45
+
43
46
  # @api private
44
47
  sig { override.returns(T::Hash[String, String]) }
45
48
  private def auth_headers
@@ -205,6 +205,25 @@ module ArkEmail
205
205
  sig { returns(Time) }
206
206
  attr_accessor :timestamp_iso
207
207
 
208
+ # Bounce classification category (present for failed deliveries). Helps understand
209
+ # why delivery failed for analytics and automated handling.
210
+ sig do
211
+ returns(
212
+ T.nilable(
213
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
214
+ )
215
+ )
216
+ end
217
+ attr_accessor :classification
218
+
219
+ # Numeric bounce classification code for programmatic handling. Codes:
220
+ # 10=invalid_recipient, 11=no_mailbox, 12=not_accepting_mail, 20=mailbox_full,
221
+ # 21=message_too_large, 30=spam_block, 31=policy_violation, 32=tls_required,
222
+ # 40=connection_error, 41=dns_error, 42=temporarily_unavailable,
223
+ # 50=protocol_error, 99=unclassified
224
+ sig { returns(T.nilable(Integer)) }
225
+ attr_accessor :classification_code
226
+
208
227
  # SMTP response code
209
228
  sig { returns(T.nilable(Integer)) }
210
229
  attr_reader :code
@@ -212,20 +231,29 @@ module ArkEmail
212
231
  sig { params(code: Integer).void }
213
232
  attr_writer :code
214
233
 
215
- # Status details
234
+ # Human-readable delivery summary. Format varies by status:
235
+ #
236
+ # - **sent**: `Message for {recipient} accepted by {ip}:{port} ({hostname})`
237
+ # - **softfail/hardfail**:
238
+ # `{code} {classification}: Delivery to {recipient} failed at {ip}:{port} ({hostname})`
216
239
  sig { returns(T.nilable(String)) }
217
240
  attr_reader :details
218
241
 
219
242
  sig { params(details: String).void }
220
243
  attr_writer :details
221
244
 
222
- # SMTP server response from the receiving mail server
245
+ # Raw SMTP response from the receiving mail server
223
246
  sig { returns(T.nilable(String)) }
224
247
  attr_reader :output
225
248
 
226
249
  sig { params(output: String).void }
227
250
  attr_writer :output
228
251
 
252
+ # Hostname of the remote mail server that processed the delivery. Present for all
253
+ # delivery attempts (successful and failed).
254
+ sig { returns(T.nilable(String)) }
255
+ attr_accessor :remote_host
256
+
229
257
  # Whether TLS was used
230
258
  sig { returns(T.nilable(T::Boolean)) }
231
259
  attr_reader :sent_with_ssl
@@ -233,16 +261,29 @@ module ArkEmail
233
261
  sig { params(sent_with_ssl: T::Boolean).void }
234
262
  attr_writer :sent_with_ssl
235
263
 
264
+ # RFC 3463 enhanced status code from SMTP response (e.g., "5.1.1", "4.2.2"). First
265
+ # digit: 2=success, 4=temporary, 5=permanent. Second digit: category (1=address,
266
+ # 2=mailbox, 7=security, etc.).
267
+ sig { returns(T.nilable(String)) }
268
+ attr_accessor :smtp_enhanced_code
269
+
236
270
  sig do
237
271
  params(
238
272
  id: String,
239
273
  status: String,
240
274
  timestamp: Float,
241
275
  timestamp_iso: Time,
276
+ classification:
277
+ T.nilable(
278
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::OrSymbol
279
+ ),
280
+ classification_code: T.nilable(Integer),
242
281
  code: Integer,
243
282
  details: String,
244
283
  output: String,
245
- sent_with_ssl: T::Boolean
284
+ remote_host: T.nilable(String),
285
+ sent_with_ssl: T::Boolean,
286
+ smtp_enhanced_code: T.nilable(String)
246
287
  ).returns(T.attached_class)
247
288
  end
248
289
  def self.new(
@@ -254,14 +295,34 @@ module ArkEmail
254
295
  timestamp:,
255
296
  # ISO 8601 timestamp
256
297
  timestamp_iso:,
298
+ # Bounce classification category (present for failed deliveries). Helps understand
299
+ # why delivery failed for analytics and automated handling.
300
+ classification: nil,
301
+ # Numeric bounce classification code for programmatic handling. Codes:
302
+ # 10=invalid_recipient, 11=no_mailbox, 12=not_accepting_mail, 20=mailbox_full,
303
+ # 21=message_too_large, 30=spam_block, 31=policy_violation, 32=tls_required,
304
+ # 40=connection_error, 41=dns_error, 42=temporarily_unavailable,
305
+ # 50=protocol_error, 99=unclassified
306
+ classification_code: nil,
257
307
  # SMTP response code
258
308
  code: nil,
259
- # Status details
309
+ # Human-readable delivery summary. Format varies by status:
310
+ #
311
+ # - **sent**: `Message for {recipient} accepted by {ip}:{port} ({hostname})`
312
+ # - **softfail/hardfail**:
313
+ # `{code} {classification}: Delivery to {recipient} failed at {ip}:{port} ({hostname})`
260
314
  details: nil,
261
- # SMTP server response from the receiving mail server
315
+ # Raw SMTP response from the receiving mail server
262
316
  output: nil,
317
+ # Hostname of the remote mail server that processed the delivery. Present for all
318
+ # delivery attempts (successful and failed).
319
+ remote_host: nil,
263
320
  # Whether TLS was used
264
- sent_with_ssl: nil
321
+ sent_with_ssl: nil,
322
+ # RFC 3463 enhanced status code from SMTP response (e.g., "5.1.1", "4.2.2"). First
323
+ # digit: 2=success, 4=temporary, 5=permanent. Second digit: category (1=address,
324
+ # 2=mailbox, 7=security, etc.).
325
+ smtp_enhanced_code: nil
265
326
  )
266
327
  end
267
328
 
@@ -272,15 +333,113 @@ module ArkEmail
272
333
  status: String,
273
334
  timestamp: Float,
274
335
  timestamp_iso: Time,
336
+ classification:
337
+ T.nilable(
338
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
339
+ ),
340
+ classification_code: T.nilable(Integer),
275
341
  code: Integer,
276
342
  details: String,
277
343
  output: String,
278
- sent_with_ssl: T::Boolean
344
+ remote_host: T.nilable(String),
345
+ sent_with_ssl: T::Boolean,
346
+ smtp_enhanced_code: T.nilable(String)
279
347
  }
280
348
  )
281
349
  end
282
350
  def to_hash
283
351
  end
352
+
353
+ # Bounce classification category (present for failed deliveries). Helps understand
354
+ # why delivery failed for analytics and automated handling.
355
+ module Classification
356
+ extend ArkEmail::Internal::Type::Enum
357
+
358
+ TaggedSymbol =
359
+ T.type_alias do
360
+ T.all(
361
+ Symbol,
362
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification
363
+ )
364
+ end
365
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
366
+
367
+ INVALID_RECIPIENT =
368
+ T.let(
369
+ :invalid_recipient,
370
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
371
+ )
372
+ MAILBOX_FULL =
373
+ T.let(
374
+ :mailbox_full,
375
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
376
+ )
377
+ MESSAGE_TOO_LARGE =
378
+ T.let(
379
+ :message_too_large,
380
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
381
+ )
382
+ SPAM_BLOCK =
383
+ T.let(
384
+ :spam_block,
385
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
386
+ )
387
+ POLICY_VIOLATION =
388
+ T.let(
389
+ :policy_violation,
390
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
391
+ )
392
+ NO_MAILBOX =
393
+ T.let(
394
+ :no_mailbox,
395
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
396
+ )
397
+ NOT_ACCEPTING_MAIL =
398
+ T.let(
399
+ :not_accepting_mail,
400
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
401
+ )
402
+ TEMPORARILY_UNAVAILABLE =
403
+ T.let(
404
+ :temporarily_unavailable,
405
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
406
+ )
407
+ PROTOCOL_ERROR =
408
+ T.let(
409
+ :protocol_error,
410
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
411
+ )
412
+ TLS_REQUIRED =
413
+ T.let(
414
+ :tls_required,
415
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
416
+ )
417
+ CONNECTION_ERROR =
418
+ T.let(
419
+ :connection_error,
420
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
421
+ )
422
+ DNS_ERROR =
423
+ T.let(
424
+ :dns_error,
425
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
426
+ )
427
+ UNCLASSIFIED =
428
+ T.let(
429
+ :unclassified,
430
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
431
+ )
432
+
433
+ sig do
434
+ override.returns(
435
+ T::Array[
436
+ ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Delivery::Classification::TaggedSymbol
437
+ ]
438
+ )
439
+ end
440
+ def self.values
441
+ end
442
+ end
284
443
  end
285
444
 
286
445
  class RetryState < ArkEmail::Internal::Type::BaseModel