zapsmtp 0.1.0.beta3

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.
@@ -0,0 +1,2618 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by sdks/codegen. Do not edit: run node sdks/codegen/generate.mjs.
4
+
5
+ module ZapSMTP
6
+ # Response models: a reader for every field the API documents, #[] and #to_h for all of them.
7
+ module Models
8
+ # Action, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
9
+ class Action < Model
10
+ # @!attribute [r] clicks_30d
11
+ # @return [Integer]
12
+ attribute :clicks_30d
13
+ # @!attribute [r] clicks_7d
14
+ # @return [Integer]
15
+ attribute :clicks_7d
16
+ # @!attribute [r] created_at
17
+ # @return [String, nil]
18
+ attribute :created_at
19
+ # @!attribute [r] declared
20
+ # @return [Boolean]
21
+ attribute :declared
22
+ # @!attribute [r] description
23
+ # @return [String]
24
+ attribute :description
25
+ # @!attribute [r] last_click_at
26
+ # @return [String, nil]
27
+ attribute :last_click_at
28
+ # @!attribute [r] name
29
+ # @return [String]
30
+ attribute :name
31
+ # @!attribute [r] object
32
+ # @return [String]
33
+ attribute :object
34
+ # @!attribute [r] templates
35
+ # @return [Integer]
36
+ attribute :templates
37
+ # @!attribute [r] unique_clickers_30d
38
+ # @return [Integer]
39
+ attribute :unique_clickers_30d
40
+ # @!attribute [r] updated_at
41
+ # @return [String, nil]
42
+ attribute :updated_at
43
+ # @!attribute [r] webhooks
44
+ # @return [Array<String>]
45
+ attribute :webhooks
46
+ end
47
+
48
+ # ApiKey, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
49
+ class ApiKey < Model
50
+ # @!attribute [r] created_at
51
+ # @return [String]
52
+ attribute :created_at
53
+ # @!attribute [r] domain_id
54
+ # @return [String, nil]
55
+ attribute :domain_id
56
+ # @!attribute [r] expires_at
57
+ # @return [String, nil]
58
+ attribute :expires_at
59
+ # @!attribute [r] id
60
+ # @return [String]
61
+ attribute :id
62
+ # @!attribute [r] last_used_at
63
+ # @return [String, nil]
64
+ attribute :last_used_at
65
+ # @!attribute [r] mode
66
+ # @return [String]
67
+ attribute :mode
68
+ # @!attribute [r] name
69
+ # @return [String]
70
+ attribute :name
71
+ # @!attribute [r] permission
72
+ # @return [String]
73
+ attribute :permission
74
+ # @!attribute [r] prefix
75
+ # @return [String]
76
+ attribute :prefix
77
+ # @!attribute [r] stream
78
+ # @return [String, nil]
79
+ attribute :stream
80
+ end
81
+
82
+ # Attachment, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
83
+ class Attachment < Model
84
+ # @!attribute [r] content_disposition
85
+ # @return [String]
86
+ attribute :content_disposition
87
+ # @!attribute [r] content_id
88
+ # @return [String, nil]
89
+ attribute :content_id
90
+ # @!attribute [r] content_type
91
+ # @return [String]
92
+ attribute :content_type
93
+ # @!attribute [r] download_url
94
+ # @return [String]
95
+ attribute :download_url
96
+ # @!attribute [r] expires_at
97
+ # @return [String]
98
+ attribute :expires_at
99
+ # @!attribute [r] filename
100
+ # @return [String]
101
+ attribute :filename
102
+ # @!attribute [r] id
103
+ # @return [String]
104
+ attribute :id
105
+ # @!attribute [r] object
106
+ # @return [String]
107
+ attribute :object
108
+ # @!attribute [r] size
109
+ # @return [Integer]
110
+ attribute :size
111
+ end
112
+
113
+ # Brand, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
114
+ class Brand < Model
115
+ # @!attribute [r] bimi_record
116
+ # @return [ZapSMTP::Models::BrandBimiRecord]
117
+ attribute :bimi_record, "BrandBimiRecord"
118
+ # @!attribute [r] cert_url
119
+ # @return [String]
120
+ attribute :cert_url
121
+ # @!attribute [r] checks
122
+ # @return [Array<ZapSMTP::Models::BrandCheck>]
123
+ attribute :checks, [:array, "BrandCheck"]
124
+ # @!attribute [r] dmarc
125
+ # @return [ZapSMTP::Models::BrandDmarc, nil]
126
+ attribute :dmarc, "BrandDmarc"
127
+ # @!attribute [r] dmarc_record
128
+ # @return [ZapSMTP::Models::BrandDmarcRecord]
129
+ attribute :dmarc_record, "BrandDmarcRecord"
130
+ # @!attribute [r] from_name
131
+ # @return [String]
132
+ attribute :from_name
133
+ # @!attribute [r] has_cert
134
+ # @return [Boolean]
135
+ attribute :has_cert
136
+ # @!attribute [r] has_logo
137
+ # @return [Boolean]
138
+ attribute :has_logo
139
+ # @!attribute [r] logo_fixed
140
+ # @return [Array<String>, nil]
141
+ attribute :logo_fixed
142
+ # @!attribute [r] logo_url
143
+ # @return [String]
144
+ attribute :logo_url
145
+ # @!attribute [r] providers
146
+ # @return [ZapSMTP::Models::BrandProviders]
147
+ attribute :providers, "BrandProviders"
148
+ # @!attribute [r] published_bimi
149
+ # @return [String]
150
+ attribute :published_bimi
151
+ end
152
+
153
+ # BrandBimiRecord, as the API answers it. Fields not listed here are kept too: read them with #[] or
154
+ # #to_h.
155
+ class BrandBimiRecord < Model
156
+ # @!attribute [r] name
157
+ # @return [String]
158
+ attribute :name
159
+ # @!attribute [r] record
160
+ # @return [String]
161
+ attribute :record
162
+ # @!attribute [r] required
163
+ # @return [Boolean]
164
+ attribute :required
165
+ # @!attribute [r] status
166
+ # @return [String]
167
+ attribute :status
168
+ # @!attribute [r] type
169
+ # @return [String]
170
+ attribute :type
171
+ # @!attribute [r] value
172
+ # @return [String]
173
+ attribute :value
174
+ end
175
+
176
+ # BrandCheck, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
177
+ class BrandCheck < Model
178
+ # @!attribute [r] detail
179
+ # @return [String]
180
+ attribute :detail
181
+ # @!attribute [r] id
182
+ # @return [String]
183
+ attribute :id
184
+ # @!attribute [r] label
185
+ # @return [String]
186
+ attribute :label
187
+ # @!attribute [r] ok
188
+ # @return [Boolean]
189
+ attribute :ok
190
+ end
191
+
192
+ # BrandDmarc, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
193
+ class BrandDmarc < Model
194
+ # @!attribute [r] domain
195
+ # @return [String]
196
+ attribute :domain
197
+ # @!attribute [r] enforced
198
+ # @return [Boolean]
199
+ attribute :enforced
200
+ # @!attribute [r] p
201
+ # @return [String]
202
+ attribute :p
203
+ # @!attribute [r] pct
204
+ # @return [Integer]
205
+ attribute :pct
206
+ # @!attribute [r] record
207
+ # @return [String]
208
+ attribute :record
209
+ # @!attribute [r] sp
210
+ # @return [String]
211
+ attribute :sp
212
+ end
213
+
214
+ # BrandDmarcRecord, as the API answers it. Fields not listed here are kept too: read them with #[] or
215
+ # #to_h.
216
+ class BrandDmarcRecord < Model
217
+ # @!attribute [r] name
218
+ # @return [String]
219
+ attribute :name
220
+ # @!attribute [r] record
221
+ # @return [String]
222
+ attribute :record
223
+ # @!attribute [r] required
224
+ # @return [Boolean]
225
+ attribute :required
226
+ # @!attribute [r] status
227
+ # @return [String]
228
+ attribute :status
229
+ # @!attribute [r] type
230
+ # @return [String]
231
+ attribute :type
232
+ # @!attribute [r] value
233
+ # @return [String]
234
+ attribute :value
235
+ end
236
+
237
+ # BrandProviders, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
238
+ class BrandProviders < Model
239
+ # @!attribute [r] apple
240
+ # @return [String]
241
+ attribute :apple
242
+ # @!attribute [r] gmail
243
+ # @return [String]
244
+ attribute :gmail
245
+ # @!attribute [r] yahoo
246
+ # @return [String]
247
+ attribute :yahoo
248
+ end
249
+
250
+ # CreatedApiKey, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
251
+ class CreatedApiKey < Model
252
+ # @!attribute [r] id
253
+ # @return [String]
254
+ attribute :id
255
+ # @!attribute [r] key
256
+ # @return [ZapSMTP::Models::CreatedApiKeyKey]
257
+ attribute :key, "CreatedApiKeyKey"
258
+ # @!attribute [r] token
259
+ # @return [String]
260
+ attribute :token
261
+ end
262
+
263
+ # CreatedApiKeyKey, as the API answers it. Fields not listed here are kept too: read them with #[] or
264
+ # #to_h.
265
+ class CreatedApiKeyKey < Model
266
+ # @!attribute [r] created_at
267
+ # @return [String]
268
+ attribute :created_at
269
+ # @!attribute [r] domain_id
270
+ # @return [String, nil]
271
+ attribute :domain_id
272
+ # @!attribute [r] expires_at
273
+ # @return [String, nil]
274
+ attribute :expires_at
275
+ # @!attribute [r] id
276
+ # @return [String]
277
+ attribute :id
278
+ # @!attribute [r] last_used_at
279
+ # @return [String, nil]
280
+ attribute :last_used_at
281
+ # @!attribute [r] mode
282
+ # @return [String]
283
+ attribute :mode
284
+ # @!attribute [r] name
285
+ # @return [String]
286
+ attribute :name
287
+ # @!attribute [r] permission
288
+ # @return [String]
289
+ attribute :permission
290
+ # @!attribute [r] prefix
291
+ # @return [String]
292
+ attribute :prefix
293
+ # @!attribute [r] stream
294
+ # @return [String, nil]
295
+ attribute :stream
296
+ end
297
+
298
+ # DedicatedIp, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
299
+ class DedicatedIp < Model
300
+ # @!attribute [r] address
301
+ # @return [String]
302
+ attribute :address
303
+ # @!attribute [r] blocklists
304
+ # @return [Array<ZapSMTP::Models::DedicatedIpBlocklist>]
305
+ attribute :blocklists, [:array, "DedicatedIpBlocklist"]
306
+ # @!attribute [r] daily_cap
307
+ # @return [Integer, nil]
308
+ attribute :daily_cap
309
+ # @!attribute [r] hostname
310
+ # @return [String]
311
+ attribute :hostname
312
+ # @!attribute [r] status
313
+ # @return [String]
314
+ attribute :status
315
+ # @!attribute [r] warmup_day
316
+ # @return [Integer]
317
+ attribute :warmup_day
318
+ # @!attribute [r] warmup_days
319
+ # @return [Integer]
320
+ attribute :warmup_days
321
+ # @!attribute [r] warmup_progress
322
+ # @return [Float]
323
+ attribute :warmup_progress
324
+ end
325
+
326
+ # DedicatedIpBlocklist, as the API answers it. Fields not listed here are kept too: read them with #[] or
327
+ # #to_h.
328
+ class DedicatedIpBlocklist < Model
329
+ # @!attribute [r] checked_at
330
+ # @return [String]
331
+ attribute :checked_at
332
+ # @!attribute [r] codes
333
+ # @return [Array<String>]
334
+ attribute :codes
335
+ # @!attribute [r] detail
336
+ # @return [String]
337
+ attribute :detail
338
+ # @!attribute [r] error
339
+ # @return [String, nil]
340
+ attribute :error
341
+ # @!attribute [r] kind
342
+ # @return [String]
343
+ attribute :kind
344
+ # @!attribute [r] labels
345
+ # @return [Array<String>]
346
+ attribute :labels
347
+ # @!attribute [r] list
348
+ # @return [String]
349
+ attribute :list
350
+ # @!attribute [r] listed
351
+ # @return [Boolean]
352
+ attribute :listed
353
+ # @!attribute [r] listed_since
354
+ # @return [String]
355
+ attribute :listed_since
356
+ # @!attribute [r] name
357
+ # @return [String]
358
+ attribute :name
359
+ # @!attribute [r] removal_url
360
+ # @return [String]
361
+ attribute :removal_url
362
+ # @!attribute [r] severity
363
+ # @return [String]
364
+ attribute :severity
365
+ # @!attribute [r] target
366
+ # @return [String]
367
+ attribute :target
368
+ end
369
+
370
+ # Deleted, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
371
+ class Deleted < Model
372
+ # @!attribute [r] object
373
+ # @return [String]
374
+ attribute :object
375
+ # @!attribute [r] id
376
+ # @return [String, nil]
377
+ attribute :id
378
+ # @!attribute [r] name
379
+ # @return [String, nil]
380
+ attribute :name
381
+ # @!attribute [r] deleted
382
+ # @return [Boolean]
383
+ attribute :deleted
384
+ end
385
+
386
+ # DmarcSummary, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
387
+ class DmarcSummary < Model
388
+ # @!attribute [r] days
389
+ # @return [Integer]
390
+ attribute :days
391
+ # @!attribute [r] domain
392
+ # @return [String]
393
+ attribute :domain
394
+ # @!attribute [r] object
395
+ # @return [String]
396
+ attribute :object
397
+ # @!attribute [r] record
398
+ # @return [ZapSMTP::Models::DmarcSummaryRecord]
399
+ attribute :record, "DmarcSummaryRecord"
400
+ # @!attribute [r] reporters
401
+ # @return [Array<ZapSMTP::Models::DmarcSummaryReporter>]
402
+ attribute :reporters, [:array, "DmarcSummaryReporter"]
403
+ # @!attribute [r] reports
404
+ # @return [Integer]
405
+ attribute :reports
406
+ # @!attribute [r] rua
407
+ # @return [String]
408
+ attribute :rua
409
+ # @!attribute [r] series
410
+ # @return [Array<ZapSMTP::Models::DmarcSummarySeries>]
411
+ attribute :series, [:array, "DmarcSummarySeries"]
412
+ # @!attribute [r] since
413
+ # @return [String]
414
+ attribute :since
415
+ # @!attribute [r] sources
416
+ # @return [Array<ZapSMTP::Models::DmarcSummarySource>]
417
+ attribute :sources, [:array, "DmarcSummarySource"]
418
+ # @!attribute [r] totals
419
+ # @return [ZapSMTP::Models::DmarcSummaryTotals]
420
+ attribute :totals, "DmarcSummaryTotals"
421
+ end
422
+
423
+ # DmarcSummaryRecord, as the API answers it. Fields not listed here are kept too: read them with #[] or
424
+ # #to_h.
425
+ class DmarcSummaryRecord < Model
426
+ # @!attribute [r] name
427
+ # @return [String]
428
+ attribute :name
429
+ # @!attribute [r] type
430
+ # @return [String]
431
+ attribute :type
432
+ # @!attribute [r] value
433
+ # @return [String]
434
+ attribute :value
435
+ end
436
+
437
+ # DmarcSummaryReporter, as the API answers it. Fields not listed here are kept too: read them with #[] or
438
+ # #to_h.
439
+ class DmarcSummaryReporter < Model
440
+ # @!attribute [r] messages
441
+ # @return [Integer]
442
+ attribute :messages
443
+ # @!attribute [r] org
444
+ # @return [String]
445
+ attribute :org
446
+ # @!attribute [r] reports
447
+ # @return [Integer]
448
+ attribute :reports
449
+ end
450
+
451
+ # DmarcSummarySeries, as the API answers it. Fields not listed here are kept too: read them with #[] or
452
+ # #to_h.
453
+ class DmarcSummarySeries < Model
454
+ # @!attribute [r] day
455
+ # @return [String]
456
+ attribute :day
457
+ # @!attribute [r] dkim_passed
458
+ # @return [Integer]
459
+ attribute :dkim_passed
460
+ # @!attribute [r] messages
461
+ # @return [Integer]
462
+ attribute :messages
463
+ # @!attribute [r] passed
464
+ # @return [Integer]
465
+ attribute :passed
466
+ # @!attribute [r] quarantined
467
+ # @return [Integer]
468
+ attribute :quarantined
469
+ # @!attribute [r] rejected
470
+ # @return [Integer]
471
+ attribute :rejected
472
+ # @!attribute [r] spf_passed
473
+ # @return [Integer]
474
+ attribute :spf_passed
475
+ end
476
+
477
+ # DmarcSummarySource, as the API answers it. Fields not listed here are kept too: read them with #[] or
478
+ # #to_h.
479
+ class DmarcSummarySource < Model
480
+ # @!attribute [r] dkim_passed
481
+ # @return [Integer]
482
+ attribute :dkim_passed
483
+ # @!attribute [r] ip
484
+ # @return [String]
485
+ attribute :ip
486
+ # @!attribute [r] messages
487
+ # @return [Integer]
488
+ attribute :messages
489
+ # @!attribute [r] ours
490
+ # @return [Boolean]
491
+ attribute :ours
492
+ # @!attribute [r] passed
493
+ # @return [Integer]
494
+ attribute :passed
495
+ # @!attribute [r] quarantined
496
+ # @return [Integer]
497
+ attribute :quarantined
498
+ # @!attribute [r] rejected
499
+ # @return [Integer]
500
+ attribute :rejected
501
+ # @!attribute [r] reporters
502
+ # @return [Array<String>]
503
+ attribute :reporters
504
+ # @!attribute [r] spf_passed
505
+ # @return [Integer]
506
+ attribute :spf_passed
507
+ end
508
+
509
+ # DmarcSummaryTotals, as the API answers it. Fields not listed here are kept too: read them with #[] or
510
+ # #to_h.
511
+ class DmarcSummaryTotals < Model
512
+ # @!attribute [r] dkim_passed
513
+ # @return [Integer]
514
+ attribute :dkim_passed
515
+ # @!attribute [r] messages
516
+ # @return [Integer]
517
+ attribute :messages
518
+ # @!attribute [r] passed
519
+ # @return [Integer]
520
+ attribute :passed
521
+ # @!attribute [r] quarantined
522
+ # @return [Integer]
523
+ attribute :quarantined
524
+ # @!attribute [r] rejected
525
+ # @return [Integer]
526
+ attribute :rejected
527
+ # @!attribute [r] spf_passed
528
+ # @return [Integer]
529
+ attribute :spf_passed
530
+ end
531
+
532
+ # Domain, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
533
+ class Domain < Model
534
+ # @!attribute [r] brand_updated_at
535
+ # @return [String, nil]
536
+ attribute :brand_updated_at
537
+ # @!attribute [r] click_tracking
538
+ # @return [Boolean]
539
+ attribute :click_tracking
540
+ # @!attribute [r] created_at
541
+ # @return [String]
542
+ attribute :created_at
543
+ # @!attribute [r] dkim_selector
544
+ # @return [String]
545
+ attribute :dkim_selector
546
+ # @!attribute [r] dkim_verified
547
+ # @return [Boolean]
548
+ attribute :dkim_verified
549
+ # @!attribute [r] dmarc_verified
550
+ # @return [Boolean]
551
+ attribute :dmarc_verified
552
+ # @!attribute [r] found
553
+ # @return [Hash{String => Object}, nil]
554
+ attribute :found
555
+ # @!attribute [r] from_name
556
+ # @return [String]
557
+ attribute :from_name
558
+ # @!attribute [r] id
559
+ # @return [String]
560
+ attribute :id
561
+ # @!attribute [r] last_checked_at
562
+ # @return [String, nil]
563
+ attribute :last_checked_at
564
+ # @!attribute [r] name
565
+ # @return [String]
566
+ attribute :name
567
+ # @!attribute [r] open_tracking
568
+ # @return [Boolean]
569
+ attribute :open_tracking
570
+ # @!attribute [r] records
571
+ # @return [Array<ZapSMTP::Models::DomainRecord>]
572
+ attribute :records, [:array, "DomainRecord"]
573
+ # @!attribute [r] reply_domain
574
+ # @return [String]
575
+ attribute :reply_domain
576
+ # @!attribute [r] reply_forward_to
577
+ # @return [String]
578
+ attribute :reply_forward_to
579
+ # @!attribute [r] reply_tracking
580
+ # @return [Boolean]
581
+ attribute :reply_tracking
582
+ # @!attribute [r] spf_verified
583
+ # @return [Boolean]
584
+ attribute :spf_verified
585
+ # @!attribute [r] status
586
+ # @return [String]
587
+ attribute :status
588
+ # @!attribute [r] tls
589
+ # @return [String]
590
+ attribute :tls
591
+ # @!attribute [r] verified_at
592
+ # @return [String, nil]
593
+ attribute :verified_at
594
+ # @!attribute [r] zone
595
+ # @return [String]
596
+ attribute :zone
597
+ end
598
+
599
+ # DomainRecord, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
600
+ class DomainRecord < Model
601
+ # @!attribute [r] name
602
+ # @return [String]
603
+ attribute :name
604
+ # @!attribute [r] record
605
+ # @return [String]
606
+ attribute :record
607
+ # @!attribute [r] required
608
+ # @return [Boolean]
609
+ attribute :required
610
+ # @!attribute [r] status
611
+ # @return [String]
612
+ attribute :status
613
+ # @!attribute [r] type
614
+ # @return [String]
615
+ attribute :type
616
+ # @!attribute [r] value
617
+ # @return [String]
618
+ attribute :value
619
+ end
620
+
621
+ # DomainReputation, as the API answers it. Fields not listed here are kept too: read them with #[] or
622
+ # #to_h.
623
+ class DomainReputation < Model
624
+ # @!attribute [r] domain
625
+ # @return [String]
626
+ attribute :domain
627
+ # @!attribute [r] events
628
+ # @return [Array<ZapSMTP::Models::DomainReputationEvent>]
629
+ attribute :events, [:array, "DomainReputationEvent"]
630
+ # @!attribute [r] lists
631
+ # @return [Array<ZapSMTP::Models::DomainReputationList>]
632
+ attribute :lists, [:array, "DomainReputationList"]
633
+ # @!attribute [r] object
634
+ # @return [String]
635
+ attribute :object
636
+ # @!attribute [r] worst
637
+ # @return [String]
638
+ attribute :worst
639
+ end
640
+
641
+ # DomainReputationEvent, as the API answers it. Fields not listed here are kept too: read them with #[] or
642
+ # #to_h.
643
+ class DomainReputationEvent < Model
644
+ # @!attribute [r] at
645
+ # @return [String]
646
+ attribute :at
647
+ # @!attribute [r] codes
648
+ # @return [Array<String>]
649
+ attribute :codes
650
+ # @!attribute [r] detail
651
+ # @return [String]
652
+ attribute :detail
653
+ # @!attribute [r] event
654
+ # @return [String]
655
+ attribute :event
656
+ # @!attribute [r] id
657
+ # @return [String]
658
+ attribute :id
659
+ # @!attribute [r] kind
660
+ # @return [String]
661
+ attribute :kind
662
+ # @!attribute [r] list
663
+ # @return [String]
664
+ attribute :list
665
+ # @!attribute [r] name
666
+ # @return [String]
667
+ attribute :name
668
+ # @!attribute [r] severity
669
+ # @return [String, nil]
670
+ attribute :severity
671
+ # @!attribute [r] target
672
+ # @return [String]
673
+ attribute :target
674
+ end
675
+
676
+ # DomainReputationList, as the API answers it. Fields not listed here are kept too: read them with #[] or
677
+ # #to_h.
678
+ class DomainReputationList < Model
679
+ # @!attribute [r] checked_at
680
+ # @return [String]
681
+ attribute :checked_at
682
+ # @!attribute [r] codes
683
+ # @return [Array<String>]
684
+ attribute :codes
685
+ # @!attribute [r] detail
686
+ # @return [String]
687
+ attribute :detail
688
+ # @!attribute [r] error
689
+ # @return [String, nil]
690
+ attribute :error
691
+ # @!attribute [r] kind
692
+ # @return [String]
693
+ attribute :kind
694
+ # @!attribute [r] labels
695
+ # @return [Array<String>]
696
+ attribute :labels
697
+ # @!attribute [r] list
698
+ # @return [String]
699
+ attribute :list
700
+ # @!attribute [r] listed
701
+ # @return [Boolean]
702
+ attribute :listed
703
+ # @!attribute [r] listed_since
704
+ # @return [String, nil]
705
+ attribute :listed_since
706
+ # @!attribute [r] name
707
+ # @return [String]
708
+ attribute :name
709
+ # @!attribute [r] removal_url
710
+ # @return [String]
711
+ attribute :removal_url
712
+ # @!attribute [r] severity
713
+ # @return [String, nil]
714
+ attribute :severity
715
+ # @!attribute [r] target
716
+ # @return [String]
717
+ attribute :target
718
+ end
719
+
720
+ # Email, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
721
+ class Email < Model
722
+ # @!attribute [r] created_at
723
+ # @return [String, nil]
724
+ attribute :created_at
725
+ # @!attribute [r] error
726
+ # @return [String, nil]
727
+ attribute :error
728
+ # @!attribute [r] events
729
+ # @return [Array<ZapSMTP::Models::EmailEvent>, nil]
730
+ attribute :events, [:array, "EmailEvent"]
731
+ # @!attribute [r] from
732
+ # @return [String, nil]
733
+ attribute :from
734
+ # @!attribute [r] id
735
+ # @return [String]
736
+ attribute :id
737
+ # @!attribute [r] last_event
738
+ # @return [String, nil]
739
+ attribute :last_event
740
+ # @!attribute [r] last_status
741
+ # @return [String, nil]
742
+ attribute :last_status
743
+ # @!attribute [r] metadata
744
+ # @return [Hash{String => String}, nil, nil]
745
+ attribute :metadata
746
+ # @!attribute [r] object
747
+ # @return [String]
748
+ attribute :object
749
+ # @!attribute [r] recipients
750
+ # @return [Array<ZapSMTP::Models::EmailRecipient>, nil]
751
+ attribute :recipients, [:array, "EmailRecipient"]
752
+ # @!attribute [r] scheduled_at
753
+ # @return [String, nil]
754
+ attribute :scheduled_at
755
+ # @!attribute [r] status
756
+ # @return [String, nil]
757
+ attribute :status
758
+ # @!attribute [r] stream
759
+ # @return [String, nil]
760
+ attribute :stream
761
+ # @!attribute [r] subject
762
+ # @return [String, nil]
763
+ attribute :subject
764
+ # @!attribute [r] test
765
+ # @return [Boolean, nil]
766
+ attribute :test
767
+ # @!attribute [r] to
768
+ # @return [Array<String>, nil]
769
+ attribute :to
770
+ # @!attribute [r] updated_at
771
+ # @return [String, nil]
772
+ attribute :updated_at
773
+ end
774
+
775
+ # EmailContent, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
776
+ class EmailContent < Model
777
+ # @!attribute [r] bcc
778
+ # @return [Array<String>]
779
+ attribute :bcc
780
+ # @!attribute [r] cc
781
+ # @return [Array<String>]
782
+ attribute :cc
783
+ # @!attribute [r] from
784
+ # @return [String]
785
+ attribute :from
786
+ # @!attribute [r] html
787
+ # @return [String]
788
+ attribute :html
789
+ # @!attribute [r] raw
790
+ # @return [String]
791
+ attribute :raw
792
+ # @!attribute [r] size
793
+ # @return [Integer]
794
+ attribute :size
795
+ # @!attribute [r] source
796
+ # @return [String]
797
+ attribute :source
798
+ # @!attribute [r] subject
799
+ # @return [String]
800
+ attribute :subject
801
+ # @!attribute [r] tags
802
+ # @return [String]
803
+ attribute :tags
804
+ # @!attribute [r] text
805
+ # @return [String]
806
+ attribute :text
807
+ # @!attribute [r] thread_id
808
+ # @return [String, nil]
809
+ attribute :thread_id
810
+ # @!attribute [r] to
811
+ # @return [Array<String>]
812
+ attribute :to
813
+ end
814
+
815
+ # EmailEvent, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
816
+ class EmailEvent < Model
817
+ # @!attribute [r] attempts
818
+ # @return [Integer]
819
+ attribute :attempts
820
+ # @!attribute [r] egress_source
821
+ # @return [String, nil]
822
+ attribute :egress_source
823
+ # @!attribute [r] mx
824
+ # @return [String, nil]
825
+ attribute :mx
826
+ # @!attribute [r] peer_addr
827
+ # @return [String, nil]
828
+ attribute :peer_addr
829
+ # @!attribute [r] recipient
830
+ # @return [String]
831
+ attribute :recipient
832
+ # @!attribute [r] response
833
+ # @return [String, nil]
834
+ attribute :response
835
+ # @!attribute [r] response_code
836
+ # @return [Integer, nil]
837
+ attribute :response_code
838
+ # @!attribute [r] status
839
+ # @return [String]
840
+ attribute :status
841
+ # @!attribute [r] time
842
+ # @return [String]
843
+ attribute :time
844
+ # @!attribute [r] tls
845
+ # @return [String, nil]
846
+ attribute :tls
847
+ # @!attribute [r] type
848
+ # @return [String]
849
+ attribute :type
850
+ end
851
+
852
+ # EmailRecipient, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
853
+ class EmailRecipient < Model
854
+ # @!attribute [r] email
855
+ # @return [String]
856
+ attribute :email
857
+ # @!attribute [r] response
858
+ # @return [String, nil]
859
+ attribute :response
860
+ # @!attribute [r] status
861
+ # @return [String]
862
+ attribute :status
863
+ # @!attribute [r] updated_at
864
+ # @return [String]
865
+ attribute :updated_at
866
+ end
867
+
868
+ # EmailShare, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
869
+ class EmailShare < Model
870
+ # @!attribute [r] email_id
871
+ # @return [String]
872
+ attribute :email_id
873
+ # @!attribute [r] expires_at
874
+ # @return [String]
875
+ attribute :expires_at
876
+ # @!attribute [r] object
877
+ # @return [String]
878
+ attribute :object
879
+ # @!attribute [r] url
880
+ # @return [String]
881
+ attribute :url
882
+ end
883
+
884
+ # ForwardDestination, as the API answers it. Fields not listed here are kept too: read them with #[] or
885
+ # #to_h.
886
+ class ForwardDestination < Model
887
+ # @!attribute [r] confirmation_sent_at
888
+ # @return [String]
889
+ attribute :confirmation_sent_at
890
+ # @!attribute [r] created_at
891
+ # @return [String]
892
+ attribute :created_at
893
+ # @!attribute [r] email
894
+ # @return [String]
895
+ attribute :email
896
+ # @!attribute [r] id
897
+ # @return [String]
898
+ attribute :id
899
+ # @!attribute [r] verified_at
900
+ # @return [String, nil]
901
+ attribute :verified_at
902
+ end
903
+
904
+ # InboundDomain, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
905
+ class InboundDomain < Model
906
+ # @!attribute [r] created_at
907
+ # @return [String]
908
+ attribute :created_at
909
+ # @!attribute [r] example_address
910
+ # @return [String]
911
+ attribute :example_address
912
+ # @!attribute [r] id
913
+ # @return [String]
914
+ attribute :id
915
+ # @!attribute [r] last_checked_at
916
+ # @return [String, nil]
917
+ attribute :last_checked_at
918
+ # @!attribute [r] managed
919
+ # @return [Boolean]
920
+ attribute :managed
921
+ # @!attribute [r] mx_verified
922
+ # @return [Boolean]
923
+ attribute :mx_verified
924
+ # @!attribute [r] name
925
+ # @return [String]
926
+ attribute :name
927
+ # @!attribute [r] records
928
+ # @return [Array<ZapSMTP::Models::InboundDomainRecord>]
929
+ attribute :records, [:array, "InboundDomainRecord"]
930
+ # @!attribute [r] reject_spam
931
+ # @return [Boolean]
932
+ attribute :reject_spam
933
+ # @!attribute [r] require_tls
934
+ # @return [Boolean, nil]
935
+ attribute :require_tls
936
+ end
937
+
938
+ # InboundDomainCheck, as the API answers it. Fields not listed here are kept too: read them with #[] or
939
+ # #to_h.
940
+ class InboundDomainCheck < Model
941
+ # @!attribute [r] domain
942
+ # @return [ZapSMTP::Models::InboundDomainCheckDomain]
943
+ attribute :domain, "InboundDomainCheckDomain"
944
+ # @!attribute [r] mx_found
945
+ # @return [Array<String>, nil]
946
+ attribute :mx_found
947
+ end
948
+
949
+ # InboundDomainCheckDomain, as the API answers it. Fields not listed here are kept too: read them with #[]
950
+ # or #to_h.
951
+ class InboundDomainCheckDomain < Model
952
+ # @!attribute [r] created_at
953
+ # @return [String]
954
+ attribute :created_at
955
+ # @!attribute [r] example_address
956
+ # @return [String]
957
+ attribute :example_address
958
+ # @!attribute [r] id
959
+ # @return [String]
960
+ attribute :id
961
+ # @!attribute [r] last_checked_at
962
+ # @return [String]
963
+ attribute :last_checked_at
964
+ # @!attribute [r] managed
965
+ # @return [Boolean]
966
+ attribute :managed
967
+ # @!attribute [r] mx_verified
968
+ # @return [Boolean]
969
+ attribute :mx_verified
970
+ # @!attribute [r] name
971
+ # @return [String]
972
+ attribute :name
973
+ # @!attribute [r] records
974
+ # @return [Array<ZapSMTP::Models::InboundDomainCheckDomainRecord>]
975
+ attribute :records, [:array, "InboundDomainCheckDomainRecord"]
976
+ # @!attribute [r] reject_spam
977
+ # @return [Boolean]
978
+ attribute :reject_spam
979
+ # @!attribute [r] require_tls
980
+ # @return [Boolean, nil]
981
+ attribute :require_tls
982
+ end
983
+
984
+ # InboundDomainCheckDomainRecord, as the API answers it. Fields not listed here are kept too: read them
985
+ # with #[] or #to_h.
986
+ class InboundDomainCheckDomainRecord < Model
987
+ # @!attribute [r] name
988
+ # @return [String]
989
+ attribute :name
990
+ # @!attribute [r] record
991
+ # @return [String]
992
+ attribute :record
993
+ # @!attribute [r] required
994
+ # @return [Boolean]
995
+ attribute :required
996
+ # @!attribute [r] status
997
+ # @return [String]
998
+ attribute :status
999
+ # @!attribute [r] type
1000
+ # @return [String]
1001
+ attribute :type
1002
+ # @!attribute [r] value
1003
+ # @return [String]
1004
+ attribute :value
1005
+ end
1006
+
1007
+ # InboundDomainRecord, as the API answers it. Fields not listed here are kept too: read them with #[] or
1008
+ # #to_h.
1009
+ class InboundDomainRecord < Model
1010
+ # @!attribute [r] name
1011
+ # @return [String]
1012
+ attribute :name
1013
+ # @!attribute [r] record
1014
+ # @return [String]
1015
+ attribute :record
1016
+ # @!attribute [r] required
1017
+ # @return [Boolean]
1018
+ attribute :required
1019
+ # @!attribute [r] status
1020
+ # @return [String]
1021
+ attribute :status
1022
+ # @!attribute [r] type
1023
+ # @return [String]
1024
+ attribute :type
1025
+ # @!attribute [r] value
1026
+ # @return [String]
1027
+ attribute :value
1028
+ end
1029
+
1030
+ # InboundRoute, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1031
+ class InboundRoute < Model
1032
+ # @!attribute [r] action
1033
+ # @return [String]
1034
+ attribute :action
1035
+ # @!attribute [r] created_at
1036
+ # @return [String]
1037
+ attribute :created_at
1038
+ # @!attribute [r] enabled
1039
+ # @return [Boolean]
1040
+ attribute :enabled
1041
+ # @!attribute [r] forward_id
1042
+ # @return [String, nil, nil]
1043
+ attribute :forward_id
1044
+ # @!attribute [r] id
1045
+ # @return [String]
1046
+ attribute :id
1047
+ # @!attribute [r] match_header
1048
+ # @return [String]
1049
+ attribute :match_header
1050
+ # @!attribute [r] match_header_value
1051
+ # @return [String]
1052
+ attribute :match_header_value
1053
+ # @!attribute [r] match_recipient
1054
+ # @return [String]
1055
+ attribute :match_recipient
1056
+ # @!attribute [r] match_sender
1057
+ # @return [String]
1058
+ attribute :match_sender
1059
+ # @!attribute [r] name
1060
+ # @return [String]
1061
+ attribute :name
1062
+ # @!attribute [r] priority
1063
+ # @return [Integer]
1064
+ attribute :priority
1065
+ # @!attribute [r] webhook_id
1066
+ # @return [String, nil]
1067
+ attribute :webhook_id
1068
+ end
1069
+
1070
+ # InboundStats, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1071
+ class InboundStats < Model
1072
+ # @!attribute [r] received
1073
+ # @return [Integer]
1074
+ attribute :received
1075
+ # @!attribute [r] rejected
1076
+ # @return [Integer]
1077
+ attribute :rejected
1078
+ # @!attribute [r] spam
1079
+ # @return [Integer]
1080
+ attribute :spam
1081
+ end
1082
+
1083
+ # Log, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1084
+ class Log < Model
1085
+ # @!attribute [r] api_key_id
1086
+ # @return [String]
1087
+ attribute :api_key_id
1088
+ # @!attribute [r] created_at
1089
+ # @return [String]
1090
+ attribute :created_at
1091
+ # @!attribute [r] duration_ms
1092
+ # @return [Float]
1093
+ attribute :duration_ms
1094
+ # @!attribute [r] id
1095
+ # @return [String]
1096
+ attribute :id
1097
+ # @!attribute [r] ip
1098
+ # @return [String]
1099
+ attribute :ip
1100
+ # @!attribute [r] method
1101
+ # @return [String]
1102
+ attribute :method
1103
+ # @!attribute [r] object
1104
+ # @return [String]
1105
+ attribute :object
1106
+ # @!attribute [r] path
1107
+ # @return [String]
1108
+ attribute :path
1109
+ # @!attribute [r] request_body
1110
+ # @return [Hash{String => Object}, nil]
1111
+ attribute :request_body
1112
+ # @!attribute [r] response_body
1113
+ # @return [Hash{String => Object}, nil]
1114
+ attribute :response_body
1115
+ # @!attribute [r] route
1116
+ # @return [String]
1117
+ attribute :route
1118
+ # @!attribute [r] status
1119
+ # @return [Integer]
1120
+ attribute :status
1121
+ # @!attribute [r] user_agent
1122
+ # @return [String]
1123
+ attribute :user_agent
1124
+ end
1125
+
1126
+ # Metrics, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1127
+ class Metrics < Model
1128
+ # @!attribute [r] dimension
1129
+ # @return [String, nil]
1130
+ attribute :dimension
1131
+ # @!attribute [r] from
1132
+ # @return [String]
1133
+ attribute :from
1134
+ # @!attribute [r] granularity
1135
+ # @return [String]
1136
+ attribute :granularity
1137
+ # @!attribute [r] groups
1138
+ # @return [Array<ZapSMTP::Models::MetricsGroup>, nil]
1139
+ attribute :groups, [:array, "MetricsGroup"]
1140
+ # @!attribute [r] object
1141
+ # @return [String]
1142
+ attribute :object
1143
+ # @!attribute [r] series
1144
+ # @return [Array<ZapSMTP::Models::MetricsSeries>]
1145
+ attribute :series, [:array, "MetricsSeries"]
1146
+ # @!attribute [r] to
1147
+ # @return [String]
1148
+ attribute :to
1149
+ # @!attribute [r] totals
1150
+ # @return [ZapSMTP::Models::MetricsTotals]
1151
+ attribute :totals, "MetricsTotals"
1152
+ end
1153
+
1154
+ # MetricsGroup, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1155
+ class MetricsGroup < Model
1156
+ # @!attribute [r] bounce_rate
1157
+ # @return [Float]
1158
+ attribute :bounce_rate
1159
+ # @!attribute [r] bounced
1160
+ # @return [Integer]
1161
+ attribute :bounced
1162
+ # @!attribute [r] click_rate
1163
+ # @return [Float]
1164
+ attribute :click_rate
1165
+ # @!attribute [r] clicked
1166
+ # @return [Integer]
1167
+ attribute :clicked
1168
+ # @!attribute [r] complained
1169
+ # @return [Integer]
1170
+ attribute :complained
1171
+ # @!attribute [r] complaint_rate
1172
+ # @return [Float]
1173
+ attribute :complaint_rate
1174
+ # @!attribute [r] delayed
1175
+ # @return [Integer]
1176
+ attribute :delayed
1177
+ # @!attribute [r] delivered
1178
+ # @return [Integer]
1179
+ attribute :delivered
1180
+ # @!attribute [r] delivery_rate
1181
+ # @return [Float]
1182
+ attribute :delivery_rate
1183
+ # @!attribute [r] failed
1184
+ # @return [Integer]
1185
+ attribute :failed
1186
+ # @!attribute [r] human_open_rate
1187
+ # @return [Float]
1188
+ attribute :human_open_rate
1189
+ # @!attribute [r] human_opened
1190
+ # @return [Integer]
1191
+ attribute :human_opened
1192
+ # @!attribute [r] open_rate
1193
+ # @return [Float]
1194
+ attribute :open_rate
1195
+ # @!attribute [r] opened
1196
+ # @return [Integer]
1197
+ attribute :opened
1198
+ # @!attribute [r] sent
1199
+ # @return [Integer]
1200
+ attribute :sent
1201
+ # @!attribute [r] suppressed
1202
+ # @return [Integer]
1203
+ attribute :suppressed
1204
+ # @!attribute [r] value
1205
+ # @return [String]
1206
+ attribute :value
1207
+ end
1208
+
1209
+ # MetricsSeries, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1210
+ class MetricsSeries < Model
1211
+ # @!attribute [r] bounce_rate
1212
+ # @return [Float]
1213
+ attribute :bounce_rate
1214
+ # @!attribute [r] bounced
1215
+ # @return [Integer]
1216
+ attribute :bounced
1217
+ # @!attribute [r] click_rate
1218
+ # @return [Float]
1219
+ attribute :click_rate
1220
+ # @!attribute [r] clicked
1221
+ # @return [Integer]
1222
+ attribute :clicked
1223
+ # @!attribute [r] complained
1224
+ # @return [Integer]
1225
+ attribute :complained
1226
+ # @!attribute [r] complaint_rate
1227
+ # @return [Float]
1228
+ attribute :complaint_rate
1229
+ # @!attribute [r] delayed
1230
+ # @return [Integer]
1231
+ attribute :delayed
1232
+ # @!attribute [r] delivered
1233
+ # @return [Integer]
1234
+ attribute :delivered
1235
+ # @!attribute [r] delivery_rate
1236
+ # @return [Float]
1237
+ attribute :delivery_rate
1238
+ # @!attribute [r] failed
1239
+ # @return [Integer]
1240
+ attribute :failed
1241
+ # @!attribute [r] human_open_rate
1242
+ # @return [Float]
1243
+ attribute :human_open_rate
1244
+ # @!attribute [r] human_opened
1245
+ # @return [Integer]
1246
+ attribute :human_opened
1247
+ # @!attribute [r] open_rate
1248
+ # @return [Float]
1249
+ attribute :open_rate
1250
+ # @!attribute [r] opened
1251
+ # @return [Integer]
1252
+ attribute :opened
1253
+ # @!attribute [r] sent
1254
+ # @return [Integer]
1255
+ attribute :sent
1256
+ # @!attribute [r] suppressed
1257
+ # @return [Integer]
1258
+ attribute :suppressed
1259
+ # @!attribute [r] time
1260
+ # @return [String]
1261
+ attribute :time
1262
+ end
1263
+
1264
+ # MetricsTotals, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1265
+ class MetricsTotals < Model
1266
+ # @!attribute [r] bounce_rate
1267
+ # @return [Float]
1268
+ attribute :bounce_rate
1269
+ # @!attribute [r] bounced
1270
+ # @return [Integer]
1271
+ attribute :bounced
1272
+ # @!attribute [r] click_rate
1273
+ # @return [Float]
1274
+ attribute :click_rate
1275
+ # @!attribute [r] clicked
1276
+ # @return [Integer]
1277
+ attribute :clicked
1278
+ # @!attribute [r] complained
1279
+ # @return [Integer]
1280
+ attribute :complained
1281
+ # @!attribute [r] complaint_rate
1282
+ # @return [Float]
1283
+ attribute :complaint_rate
1284
+ # @!attribute [r] delayed
1285
+ # @return [Integer]
1286
+ attribute :delayed
1287
+ # @!attribute [r] delivered
1288
+ # @return [Integer]
1289
+ attribute :delivered
1290
+ # @!attribute [r] delivery_rate
1291
+ # @return [Float]
1292
+ attribute :delivery_rate
1293
+ # @!attribute [r] failed
1294
+ # @return [Integer]
1295
+ attribute :failed
1296
+ # @!attribute [r] human_open_rate
1297
+ # @return [Float]
1298
+ attribute :human_open_rate
1299
+ # @!attribute [r] human_opened
1300
+ # @return [Integer]
1301
+ attribute :human_opened
1302
+ # @!attribute [r] open_rate
1303
+ # @return [Float]
1304
+ attribute :open_rate
1305
+ # @!attribute [r] opened
1306
+ # @return [Integer]
1307
+ attribute :opened
1308
+ # @!attribute [r] sent
1309
+ # @return [Integer]
1310
+ attribute :sent
1311
+ # @!attribute [r] suppressed
1312
+ # @return [Integer]
1313
+ attribute :suppressed
1314
+ end
1315
+
1316
+ # ReceivedEmail, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1317
+ class ReceivedEmail < Model
1318
+ # @!attribute [r] action
1319
+ # @return [String]
1320
+ attribute :action
1321
+ # @!attribute [r] arc
1322
+ # @return [String, nil]
1323
+ attribute :arc
1324
+ # @!attribute [r] attachments
1325
+ # @return [Array<ZapSMTP::Models::ReceivedEmailAttachment>]
1326
+ attribute :attachments, [:array, "ReceivedEmailAttachment"]
1327
+ # @!attribute [r] authentication
1328
+ # @return [ZapSMTP::Models::ReceivedEmailAuthentication, nil]
1329
+ attribute :authentication, "ReceivedEmailAuthentication"
1330
+ # @!attribute [r] automated
1331
+ # @return [ZapSMTP::Models::ReceivedEmailAutomated, nil, nil]
1332
+ attribute :automated, "ReceivedEmailAutomated"
1333
+ # @!attribute [r] bcc
1334
+ # @return [Array<String>]
1335
+ attribute :bcc
1336
+ # @!attribute [r] cc
1337
+ # @return [Array<String>]
1338
+ attribute :cc
1339
+ # @!attribute [r] created_at
1340
+ # @return [String]
1341
+ attribute :created_at
1342
+ # @!attribute [r] envelope
1343
+ # @return [ZapSMTP::Models::ReceivedEmailEnvelope, nil]
1344
+ attribute :envelope, "ReceivedEmailEnvelope"
1345
+ # @!attribute [r] from
1346
+ # @return [String]
1347
+ attribute :from
1348
+ # @!attribute [r] from_name
1349
+ # @return [String]
1350
+ attribute :from_name
1351
+ # @!attribute [r] headers
1352
+ # @return [Hash{String => String}, nil]
1353
+ attribute :headers
1354
+ # @!attribute [r] helo
1355
+ # @return [String, nil]
1356
+ attribute :helo
1357
+ # @!attribute [r] html
1358
+ # @return [String, nil, nil]
1359
+ attribute :html
1360
+ # @!attribute [r] html_format
1361
+ # @return [String, nil]
1362
+ attribute :html_format
1363
+ # @!attribute [r] id
1364
+ # @return [String]
1365
+ attribute :id
1366
+ # @!attribute [r] in_reply_to_email_id
1367
+ # @return [String, nil, nil]
1368
+ attribute :in_reply_to_email_id
1369
+ # @!attribute [r] is_spam
1370
+ # @return [Boolean, nil]
1371
+ attribute :is_spam
1372
+ # @!attribute [r] mailbox_hash
1373
+ # @return [String, nil]
1374
+ attribute :mailbox_hash
1375
+ # @!attribute [r] message_id
1376
+ # @return [String]
1377
+ attribute :message_id
1378
+ # @!attribute [r] object
1379
+ # @return [String]
1380
+ attribute :object
1381
+ # @!attribute [r] peer_ip
1382
+ # @return [String, nil]
1383
+ attribute :peer_ip
1384
+ # @!attribute [r] raw
1385
+ # @return [ZapSMTP::Models::ReceivedEmailRaw, nil]
1386
+ attribute :raw, "ReceivedEmailRaw"
1387
+ # @!attribute [r] received_for
1388
+ # @return [Array<String>]
1389
+ attribute :received_for
1390
+ # @!attribute [r] reply_text
1391
+ # @return [String, nil]
1392
+ attribute :reply_text
1393
+ # @!attribute [r] reply_to
1394
+ # @return [Array<String>]
1395
+ attribute :reply_to
1396
+ # @!attribute [r] route_id
1397
+ # @return [String, nil]
1398
+ attribute :route_id
1399
+ # @!attribute [r] size
1400
+ # @return [Integer]
1401
+ attribute :size
1402
+ # @!attribute [r] spam
1403
+ # @return [ZapSMTP::Models::ReceivedEmailSpam, nil]
1404
+ attribute :spam, "ReceivedEmailSpam"
1405
+ # @!attribute [r] spam_score
1406
+ # @return [Float, nil]
1407
+ attribute :spam_score
1408
+ # @!attribute [r] status
1409
+ # @return [String]
1410
+ attribute :status
1411
+ # @!attribute [r] subject
1412
+ # @return [String]
1413
+ attribute :subject
1414
+ # @!attribute [r] text
1415
+ # @return [String, nil]
1416
+ attribute :text
1417
+ # @!attribute [r] thread_id
1418
+ # @return [String, nil]
1419
+ attribute :thread_id
1420
+ # @!attribute [r] tls
1421
+ # @return [String, nil]
1422
+ attribute :tls
1423
+ # @!attribute [r] to
1424
+ # @return [Array<String>]
1425
+ attribute :to
1426
+ end
1427
+
1428
+ # ReceivedEmailAction, as the API answers it. Fields not listed here are kept too: read them with #[] or
1429
+ # #to_h.
1430
+ class ReceivedEmailAction < Model
1431
+ # @!attribute [r] id
1432
+ # @return [String]
1433
+ attribute :id
1434
+ # @!attribute [r] learned
1435
+ # @return [Boolean, nil]
1436
+ attribute :learned
1437
+ # @!attribute [r] object
1438
+ # @return [String]
1439
+ attribute :object
1440
+ # @!attribute [r] redelivered
1441
+ # @return [Boolean, nil]
1442
+ attribute :redelivered
1443
+ # @!attribute [r] spam
1444
+ # @return [Boolean, nil]
1445
+ attribute :spam
1446
+ end
1447
+
1448
+ # ReceivedEmailAttachment, as the API answers it. Fields not listed here are kept too: read them with #[]
1449
+ # or #to_h.
1450
+ class ReceivedEmailAttachment < Model
1451
+ # @!attribute [r] content_disposition
1452
+ # @return [String, nil]
1453
+ attribute :content_disposition
1454
+ # @!attribute [r] content_id
1455
+ # @return [String, nil, nil]
1456
+ attribute :content_id
1457
+ # @!attribute [r] content_type
1458
+ # @return [String, nil]
1459
+ attribute :content_type
1460
+ # @!attribute [r] filename
1461
+ # @return [String, nil]
1462
+ attribute :filename
1463
+ # @!attribute [r] id
1464
+ # @return [String]
1465
+ attribute :id
1466
+ # @!attribute [r] object
1467
+ # @return [String, nil]
1468
+ attribute :object
1469
+ # @!attribute [r] size
1470
+ # @return [Integer, nil]
1471
+ attribute :size
1472
+ end
1473
+
1474
+ # ReceivedEmailAuthentication, as the API answers it. Fields not listed here are kept too: read them with
1475
+ # #[] or #to_h.
1476
+ class ReceivedEmailAuthentication < Model
1477
+ # @!attribute [r] dkim
1478
+ # @return [String]
1479
+ attribute :dkim
1480
+ # @!attribute [r] dmarc
1481
+ # @return [String]
1482
+ attribute :dmarc
1483
+ # @!attribute [r] spf
1484
+ # @return [String]
1485
+ attribute :spf
1486
+ end
1487
+
1488
+ # ReceivedEmailAutomated, as the API answers it. Fields not listed here are kept too: read them with #[]
1489
+ # or #to_h.
1490
+ class ReceivedEmailAutomated < Model
1491
+ # @!attribute [r] reason
1492
+ # @return [String]
1493
+ attribute :reason
1494
+ # @!attribute [r] type
1495
+ # @return [String]
1496
+ attribute :type
1497
+ end
1498
+
1499
+ # ReceivedEmailEnvelope, as the API answers it. Fields not listed here are kept too: read them with #[] or
1500
+ # #to_h.
1501
+ class ReceivedEmailEnvelope < Model
1502
+ # @!attribute [r] from
1503
+ # @return [String]
1504
+ attribute :from
1505
+ # @!attribute [r] to
1506
+ # @return [String]
1507
+ attribute :to
1508
+ end
1509
+
1510
+ # ReceivedEmailRaw, as the API answers it. Fields not listed here are kept too: read them with #[] or
1511
+ # #to_h.
1512
+ class ReceivedEmailRaw < Model
1513
+ # @!attribute [r] download_url
1514
+ # @return [String]
1515
+ attribute :download_url
1516
+ # @!attribute [r] expires_at
1517
+ # @return [String]
1518
+ attribute :expires_at
1519
+ end
1520
+
1521
+ # ReceivedEmailSpam, as the API answers it. Fields not listed here are kept too: read them with #[] or
1522
+ # #to_h.
1523
+ class ReceivedEmailSpam < Model
1524
+ # @!attribute [r] action
1525
+ # @return [String]
1526
+ attribute :action
1527
+ # @!attribute [r] is_spam
1528
+ # @return [Boolean]
1529
+ attribute :is_spam
1530
+ # @!attribute [r] score
1531
+ # @return [Float]
1532
+ attribute :score
1533
+ end
1534
+
1535
+ # RenderedTemplate, as the API answers it. Fields not listed here are kept too: read them with #[] or
1536
+ # #to_h.
1537
+ class RenderedTemplate < Model
1538
+ # @!attribute [r] design
1539
+ # @return [Object, nil]
1540
+ attribute :design
1541
+ # @!attribute [r] html
1542
+ # @return [String]
1543
+ attribute :html
1544
+ # @!attribute [r] missing_variables
1545
+ # @return [Array<String>]
1546
+ attribute :missing_variables
1547
+ # @!attribute [r] subject
1548
+ # @return [String]
1549
+ attribute :subject
1550
+ # @!attribute [r] text
1551
+ # @return [String]
1552
+ attribute :text
1553
+ # @!attribute [r] variable_names
1554
+ # @return [Array<String>]
1555
+ attribute :variable_names
1556
+ end
1557
+
1558
+ # SendBatchResponse, as the API answers it. Fields not listed here are kept too: read them with #[] or
1559
+ # #to_h.
1560
+ class SendBatchResponse < Model
1561
+ # @!attribute [r] data
1562
+ # @return [Array<ZapSMTP::Models::SendBatchResponseData>]
1563
+ attribute :data, [:array, "SendBatchResponseData"]
1564
+ # @!attribute [r] errors
1565
+ # @return [Array<ZapSMTP::Models::SendBatchResponseError>]
1566
+ attribute :errors, [:array, "SendBatchResponseError"]
1567
+ end
1568
+
1569
+ # SendBatchResponseData, as the API answers it. Fields not listed here are kept too: read them with #[] or
1570
+ # #to_h.
1571
+ class SendBatchResponseData < Model
1572
+ # @!attribute [r] id
1573
+ # @return [String]
1574
+ attribute :id
1575
+ # @!attribute [r] index
1576
+ # @return [Integer]
1577
+ attribute :index
1578
+ # @!attribute [r] reply_to
1579
+ # @return [String, nil]
1580
+ attribute :reply_to
1581
+ # @!attribute [r] suppressed
1582
+ # @return [Array<String>, nil]
1583
+ attribute :suppressed
1584
+ # @!attribute [r] thread_id
1585
+ # @return [String, nil]
1586
+ attribute :thread_id
1587
+ # @!attribute [r] unconfirmed
1588
+ # @return [Boolean, nil]
1589
+ attribute :unconfirmed
1590
+ end
1591
+
1592
+ # SendBatchResponseError, as the API answers it. Fields not listed here are kept too: read them with #[]
1593
+ # or #to_h.
1594
+ class SendBatchResponseError < Model
1595
+ # @!attribute [r] code
1596
+ # @return [String]
1597
+ attribute :code
1598
+ # @!attribute [r] index
1599
+ # @return [Integer]
1600
+ attribute :index
1601
+ # @!attribute [r] message
1602
+ # @return [String]
1603
+ attribute :message
1604
+ end
1605
+
1606
+ # SendEmailResponse, as the API answers it. Fields not listed here are kept too: read them with #[] or
1607
+ # #to_h.
1608
+ class SendEmailResponse < Model
1609
+ # @!attribute [r] failed_recipients
1610
+ # @return [Array<String>, nil]
1611
+ attribute :failed_recipients
1612
+ # @!attribute [r] id
1613
+ # @return [String]
1614
+ attribute :id
1615
+ # @!attribute [r] reply_to
1616
+ # @return [String, nil]
1617
+ attribute :reply_to
1618
+ # @!attribute [r] suppressed
1619
+ # @return [Array<String>, nil]
1620
+ attribute :suppressed
1621
+ # @!attribute [r] thread_id
1622
+ # @return [String, nil]
1623
+ attribute :thread_id
1624
+ # @!attribute [r] unconfirmed
1625
+ # @return [Boolean, nil]
1626
+ attribute :unconfirmed
1627
+ end
1628
+
1629
+ # Simulator, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1630
+ class Simulator < Model
1631
+ # @!attribute [r] domain
1632
+ # @return [String]
1633
+ attribute :domain
1634
+ # @!attribute [r] note
1635
+ # @return [String]
1636
+ attribute :note
1637
+ # @!attribute [r] scenarios
1638
+ # @return [Array<ZapSMTP::Models::SimulatorScenario>]
1639
+ attribute :scenarios, [:array, "SimulatorScenario"]
1640
+ end
1641
+
1642
+ # SimulatorScenario, as the API answers it. Fields not listed here are kept too: read them with #[] or
1643
+ # #to_h.
1644
+ class SimulatorScenario < Model
1645
+ # @!attribute [r] address
1646
+ # @return [String]
1647
+ attribute :address
1648
+ # @!attribute [r] event
1649
+ # @return [String]
1650
+ attribute :event
1651
+ # @!attribute [r] result
1652
+ # @return [String]
1653
+ attribute :result
1654
+ end
1655
+
1656
+ # SmtpCredential, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1657
+ class SmtpCredential < Model
1658
+ # @!attribute [r] created_at
1659
+ # @return [String]
1660
+ attribute :created_at
1661
+ # @!attribute [r] domain_id
1662
+ # @return [String, nil]
1663
+ attribute :domain_id
1664
+ # @!attribute [r] id
1665
+ # @return [String]
1666
+ attribute :id
1667
+ # @!attribute [r] name
1668
+ # @return [String]
1669
+ attribute :name
1670
+ # @!attribute [r] password
1671
+ # @return [String]
1672
+ attribute :password
1673
+ # @!attribute [r] settings
1674
+ # @return [ZapSMTP::Models::SmtpCredentialSettings]
1675
+ attribute :settings, "SmtpCredentialSettings"
1676
+ # @!attribute [r] username
1677
+ # @return [String]
1678
+ attribute :username
1679
+ end
1680
+
1681
+ # SmtpCredentialList, as the API answers it. Fields not listed here are kept too: read them with #[] or
1682
+ # #to_h.
1683
+ class SmtpCredentialList < Model
1684
+ # @!attribute [r] data
1685
+ # @return [Array<ZapSMTP::Models::SmtpCredentialListData>]
1686
+ attribute :data, [:array, "SmtpCredentialListData"]
1687
+ # @!attribute [r] limit
1688
+ # @return [Integer]
1689
+ attribute :limit
1690
+ # @!attribute [r] object
1691
+ # @return [String]
1692
+ attribute :object
1693
+ # @!attribute [r] settings
1694
+ # @return [ZapSMTP::Models::SmtpCredentialListSettings]
1695
+ attribute :settings, "SmtpCredentialListSettings"
1696
+ # @!attribute [r] smtp_relay
1697
+ # @return [Boolean, nil]
1698
+ attribute :smtp_relay
1699
+ end
1700
+
1701
+ # SmtpCredentialListData, as the API answers it. Fields not listed here are kept too: read them with #[]
1702
+ # or #to_h.
1703
+ class SmtpCredentialListData < Model
1704
+ # @!attribute [r] created_at
1705
+ # @return [String]
1706
+ attribute :created_at
1707
+ # @!attribute [r] domain_id
1708
+ # @return [String, nil]
1709
+ attribute :domain_id
1710
+ # @!attribute [r] id
1711
+ # @return [String]
1712
+ attribute :id
1713
+ # @!attribute [r] last_used_at
1714
+ # @return [String, nil]
1715
+ attribute :last_used_at
1716
+ # @!attribute [r] name
1717
+ # @return [String]
1718
+ attribute :name
1719
+ # @!attribute [r] username
1720
+ # @return [String]
1721
+ attribute :username
1722
+ end
1723
+
1724
+ # SmtpCredentialListSettings, as the API answers it. Fields not listed here are kept too: read them with
1725
+ # #[] or #to_h.
1726
+ class SmtpCredentialListSettings < Model
1727
+ # @!attribute [r] host
1728
+ # @return [String]
1729
+ attribute :host
1730
+ # @!attribute [r] mechanisms
1731
+ # @return [Array<String>]
1732
+ attribute :mechanisms
1733
+ # @!attribute [r] ports
1734
+ # @return [Hash{String => String}]
1735
+ attribute :ports
1736
+ end
1737
+
1738
+ # SmtpCredentialSettings, as the API answers it. Fields not listed here are kept too: read them with #[]
1739
+ # or #to_h.
1740
+ class SmtpCredentialSettings < Model
1741
+ # @!attribute [r] host
1742
+ # @return [String]
1743
+ attribute :host
1744
+ # @!attribute [r] mechanisms
1745
+ # @return [Array<String>]
1746
+ attribute :mechanisms
1747
+ # @!attribute [r] ports
1748
+ # @return [Hash{String => String}]
1749
+ attribute :ports
1750
+ end
1751
+
1752
+ # SpamCheck, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1753
+ class SpamCheck < Model
1754
+ # @!attribute [r] dkim_signed
1755
+ # @return [Boolean]
1756
+ attribute :dkim_signed
1757
+ # @!attribute [r] email_id
1758
+ # @return [String, nil]
1759
+ attribute :email_id
1760
+ # @!attribute [r] engines
1761
+ # @return [Array<ZapSMTP::Models::SpamCheckEngine>]
1762
+ attribute :engines, [:array, "SpamCheckEngine"]
1763
+ # @!attribute [r] issues
1764
+ # @return [Array<ZapSMTP::Models::SpamCheckIssue>]
1765
+ attribute :issues, [:array, "SpamCheckIssue"]
1766
+ # @!attribute [r] note
1767
+ # @return [String]
1768
+ attribute :note
1769
+ # @!attribute [r] object
1770
+ # @return [String]
1771
+ attribute :object
1772
+ # @!attribute [r] score
1773
+ # @return [Float]
1774
+ attribute :score
1775
+ # @!attribute [r] sending_ip
1776
+ # @return [String]
1777
+ attribute :sending_ip
1778
+ # @!attribute [r] threshold
1779
+ # @return [Float]
1780
+ attribute :threshold
1781
+ # @!attribute [r] verdict
1782
+ # @return [String]
1783
+ attribute :verdict
1784
+ end
1785
+
1786
+ # SpamCheckEngine, as the API answers it. Fields not listed here are kept too: read them with #[] or
1787
+ # #to_h.
1788
+ class SpamCheckEngine < Model
1789
+ # @!attribute [r] engine
1790
+ # @return [String]
1791
+ attribute :engine
1792
+ # @!attribute [r] error
1793
+ # @return [String, nil]
1794
+ attribute :error
1795
+ # @!attribute [r] rules
1796
+ # @return [Array<ZapSMTP::Models::SpamCheckEngineRule>]
1797
+ attribute :rules, [:array, "SpamCheckEngineRule"]
1798
+ # @!attribute [r] score
1799
+ # @return [Float]
1800
+ attribute :score
1801
+ # @!attribute [r] threshold
1802
+ # @return [Float]
1803
+ attribute :threshold
1804
+ # @!attribute [r] verdict
1805
+ # @return [String]
1806
+ attribute :verdict
1807
+ end
1808
+
1809
+ # SpamCheckEngineRule, as the API answers it. Fields not listed here are kept too: read them with #[] or
1810
+ # #to_h.
1811
+ class SpamCheckEngineRule < Model
1812
+ # @!attribute [r] description
1813
+ # @return [String, nil]
1814
+ attribute :description
1815
+ # @!attribute [r] name
1816
+ # @return [String]
1817
+ attribute :name
1818
+ # @!attribute [r] score
1819
+ # @return [Float]
1820
+ attribute :score
1821
+ end
1822
+
1823
+ # SpamCheckIssue, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1824
+ class SpamCheckIssue < Model
1825
+ # @!attribute [r] kind
1826
+ # @return [String]
1827
+ attribute :kind
1828
+ # @!attribute [r] message
1829
+ # @return [String]
1830
+ attribute :message
1831
+ end
1832
+
1833
+ # Stats, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1834
+ class Stats < Model
1835
+ # @!attribute [r] data
1836
+ # @return [Array<ZapSMTP::Models::StatsData>]
1837
+ attribute :data, [:array, "StatsData"]
1838
+ # @!attribute [r] hours
1839
+ # @return [Integer]
1840
+ attribute :hours
1841
+ end
1842
+
1843
+ # StatsBreakdown, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1844
+ class StatsBreakdown < Model
1845
+ # @!attribute [r] bounces
1846
+ # @return [Array<ZapSMTP::Models::StatsBreakdownBounce>]
1847
+ attribute :bounces, [:array, "StatsBreakdownBounce"]
1848
+ # @!attribute [r] engagement
1849
+ # @return [ZapSMTP::Models::StatsBreakdownEngagement]
1850
+ attribute :engagement, "StatsBreakdownEngagement"
1851
+ # @!attribute [r] providers
1852
+ # @return [Array<ZapSMTP::Models::StatsBreakdownProvider>]
1853
+ attribute :providers, [:array, "StatsBreakdownProvider"]
1854
+ # @!attribute [r] top_links
1855
+ # @return [Array<ZapSMTP::Models::StatsBreakdownTopLink>]
1856
+ attribute :top_links, [:array, "StatsBreakdownTopLink"]
1857
+ end
1858
+
1859
+ # StatsBreakdownBounce, as the API answers it. Fields not listed here are kept too: read them with #[] or
1860
+ # #to_h.
1861
+ class StatsBreakdownBounce < Model
1862
+ # @!attribute [r] classification
1863
+ # @return [String]
1864
+ attribute :classification
1865
+ # @!attribute [r] count
1866
+ # @return [Integer]
1867
+ attribute :count
1868
+ end
1869
+
1870
+ # StatsBreakdownEngagement, as the API answers it. Fields not listed here are kept too: read them with #[]
1871
+ # or #to_h.
1872
+ class StatsBreakdownEngagement < Model
1873
+ # @!attribute [r] clicks
1874
+ # @return [Integer]
1875
+ attribute :clicks
1876
+ # @!attribute [r] delivered
1877
+ # @return [Integer]
1878
+ attribute :delivered
1879
+ # @!attribute [r] human_unique_opens
1880
+ # @return [Integer]
1881
+ attribute :human_unique_opens
1882
+ # @!attribute [r] machine_opens
1883
+ # @return [Integer]
1884
+ attribute :machine_opens
1885
+ # @!attribute [r] opens
1886
+ # @return [Integer]
1887
+ attribute :opens
1888
+ # @!attribute [r] unique_clicks
1889
+ # @return [Integer]
1890
+ attribute :unique_clicks
1891
+ # @!attribute [r] unique_opens
1892
+ # @return [Integer]
1893
+ attribute :unique_opens
1894
+ end
1895
+
1896
+ # StatsBreakdownProvider, as the API answers it. Fields not listed here are kept too: read them with #[]
1897
+ # or #to_h.
1898
+ class StatsBreakdownProvider < Model
1899
+ # @!attribute [r] bounced
1900
+ # @return [Integer]
1901
+ attribute :bounced
1902
+ # @!attribute [r] complained
1903
+ # @return [Integer]
1904
+ attribute :complained
1905
+ # @!attribute [r] delayed
1906
+ # @return [Integer]
1907
+ attribute :delayed
1908
+ # @!attribute [r] delivered
1909
+ # @return [Integer]
1910
+ attribute :delivered
1911
+ # @!attribute [r] provider
1912
+ # @return [String]
1913
+ attribute :provider
1914
+ # @!attribute [r] sent
1915
+ # @return [Integer]
1916
+ attribute :sent
1917
+ end
1918
+
1919
+ # StatsBreakdownTopLink, as the API answers it. Fields not listed here are kept too: read them with #[] or
1920
+ # #to_h.
1921
+ class StatsBreakdownTopLink < Model
1922
+ # @!attribute [r] clicks
1923
+ # @return [Integer]
1924
+ attribute :clicks
1925
+ # @!attribute [r] unique
1926
+ # @return [Integer]
1927
+ attribute :unique
1928
+ # @!attribute [r] url
1929
+ # @return [String]
1930
+ attribute :url
1931
+ end
1932
+
1933
+ # StatsData, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1934
+ class StatsData < Model
1935
+ # @!attribute [r] count
1936
+ # @return [Integer]
1937
+ attribute :count
1938
+ # @!attribute [r] status
1939
+ # @return [String]
1940
+ attribute :status
1941
+ end
1942
+
1943
+ # StatsTimeseries, as the API answers it. Fields not listed here are kept too: read them with #[] or
1944
+ # #to_h.
1945
+ class StatsTimeseries < Model
1946
+ # @!attribute [r] bucket_seconds
1947
+ # @return [Integer]
1948
+ attribute :bucket_seconds
1949
+ # @!attribute [r] data
1950
+ # @return [Array<ZapSMTP::Models::StatsTimeseriesData>]
1951
+ attribute :data, [:array, "StatsTimeseriesData"]
1952
+ # @!attribute [r] hours
1953
+ # @return [Integer]
1954
+ attribute :hours
1955
+ # @!attribute [r] since
1956
+ # @return [String]
1957
+ attribute :since
1958
+ end
1959
+
1960
+ # StatsTimeseriesData, as the API answers it. Fields not listed here are kept too: read them with #[] or
1961
+ # #to_h.
1962
+ class StatsTimeseriesData < Model
1963
+ # @!attribute [r] count
1964
+ # @return [Integer]
1965
+ attribute :count
1966
+ # @!attribute [r] status
1967
+ # @return [String]
1968
+ attribute :status
1969
+ # @!attribute [r] t
1970
+ # @return [String]
1971
+ attribute :t
1972
+ end
1973
+
1974
+ # Suppression, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
1975
+ class Suppression < Model
1976
+ # @!attribute [r] created_at
1977
+ # @return [String, nil]
1978
+ attribute :created_at
1979
+ # @!attribute [r] email
1980
+ # @return [String]
1981
+ attribute :email
1982
+ # @!attribute [r] reason
1983
+ # @return [String]
1984
+ attribute :reason
1985
+ # @!attribute [r] source_id
1986
+ # @return [String, nil, nil]
1987
+ attribute :source_id
1988
+ end
1989
+
1990
+ # SuppressionBatch, as the API answers it. Fields not listed here are kept too: read them with #[] or
1991
+ # #to_h.
1992
+ class SuppressionBatch < Model
1993
+ # @!attribute [r] added
1994
+ # @return [Integer, nil]
1995
+ attribute :added
1996
+ # @!attribute [r] emails
1997
+ # @return [Array<String>]
1998
+ attribute :emails
1999
+ # @!attribute [r] object
2000
+ # @return [String]
2001
+ attribute :object
2002
+ # @!attribute [r] reason
2003
+ # @return [String, nil]
2004
+ attribute :reason
2005
+ # @!attribute [r] removed
2006
+ # @return [Integer, nil]
2007
+ attribute :removed
2008
+ end
2009
+
2010
+ # Template, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2011
+ class Template < Model
2012
+ # @!attribute [r] alias
2013
+ # @return [String, nil]
2014
+ attribute :alias
2015
+ # @!attribute [r] created_at
2016
+ # @return [String, nil]
2017
+ attribute :created_at
2018
+ # @!attribute [r] design
2019
+ # @return [Hash{String => Object}, nil, nil]
2020
+ attribute :design
2021
+ # @!attribute [r] from
2022
+ # @return [String, nil]
2023
+ attribute :from
2024
+ # @!attribute [r] has_unpublished_changes
2025
+ # @return [Boolean, nil]
2026
+ attribute :has_unpublished_changes
2027
+ # @!attribute [r] html
2028
+ # @return [String, nil]
2029
+ attribute :html
2030
+ # @!attribute [r] id
2031
+ # @return [String]
2032
+ attribute :id
2033
+ # @!attribute [r] name
2034
+ # @return [String]
2035
+ attribute :name
2036
+ # @!attribute [r] object
2037
+ # @return [String]
2038
+ attribute :object
2039
+ # @!attribute [r] published
2040
+ # @return [ZapSMTP::Models::TemplatePublished, nil, nil]
2041
+ attribute :published, "TemplatePublished"
2042
+ # @!attribute [r] published_at
2043
+ # @return [String, nil, nil]
2044
+ attribute :published_at
2045
+ # @!attribute [r] status
2046
+ # @return [String, nil]
2047
+ attribute :status
2048
+ # @!attribute [r] subject
2049
+ # @return [String, nil]
2050
+ attribute :subject
2051
+ # @!attribute [r] text
2052
+ # @return [String, nil]
2053
+ attribute :text
2054
+ # @!attribute [r] updated_at
2055
+ # @return [String, nil]
2056
+ attribute :updated_at
2057
+ # @!attribute [r] variable_names
2058
+ # @return [Array<String>, nil]
2059
+ attribute :variable_names
2060
+ # @!attribute [r] variable_schema
2061
+ # @return [Array<ZapSMTP::Models::TemplateVariableSchema>, nil]
2062
+ attribute :variable_schema, [:array, "TemplateVariableSchema"]
2063
+ # @!attribute [r] variables
2064
+ # @return [Hash{String => String}, nil]
2065
+ attribute :variables
2066
+ end
2067
+
2068
+ # TemplateAsset, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2069
+ class TemplateAsset < Model
2070
+ # @!attribute [r] content_type
2071
+ # @return [String]
2072
+ attribute :content_type
2073
+ # @!attribute [r] created_at
2074
+ # @return [String]
2075
+ attribute :created_at
2076
+ # @!attribute [r] ext
2077
+ # @return [String]
2078
+ attribute :ext
2079
+ # @!attribute [r] height
2080
+ # @return [Integer]
2081
+ attribute :height
2082
+ # @!attribute [r] id
2083
+ # @return [String]
2084
+ attribute :id
2085
+ # @!attribute [r] name
2086
+ # @return [String]
2087
+ attribute :name
2088
+ # @!attribute [r] object
2089
+ # @return [String]
2090
+ attribute :object
2091
+ # @!attribute [r] size
2092
+ # @return [Integer]
2093
+ attribute :size
2094
+ # @!attribute [r] url
2095
+ # @return [String]
2096
+ attribute :url
2097
+ # @!attribute [r] width
2098
+ # @return [Integer]
2099
+ attribute :width
2100
+ end
2101
+
2102
+ # TemplateModule, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2103
+ class TemplateModule < Model
2104
+ # @!attribute [r] category
2105
+ # @return [String]
2106
+ attribute :category
2107
+ # @!attribute [r] created_at
2108
+ # @return [String]
2109
+ attribute :created_at
2110
+ # @!attribute [r] design
2111
+ # @return [Hash{String => Object}]
2112
+ attribute :design
2113
+ # @!attribute [r] id
2114
+ # @return [String]
2115
+ attribute :id
2116
+ # @!attribute [r] name
2117
+ # @return [String]
2118
+ attribute :name
2119
+ # @!attribute [r] updated_at
2120
+ # @return [String]
2121
+ attribute :updated_at
2122
+ end
2123
+
2124
+ # TemplatePublished, as the API answers it. Fields not listed here are kept too: read them with #[] or
2125
+ # #to_h.
2126
+ class TemplatePublished < Model
2127
+ # @!attribute [r] design
2128
+ # @return [Hash{String => Object}, nil]
2129
+ attribute :design
2130
+ # @!attribute [r] from
2131
+ # @return [String]
2132
+ attribute :from
2133
+ # @!attribute [r] html
2134
+ # @return [String]
2135
+ attribute :html
2136
+ # @!attribute [r] subject
2137
+ # @return [String]
2138
+ attribute :subject
2139
+ # @!attribute [r] text
2140
+ # @return [String]
2141
+ attribute :text
2142
+ # @!attribute [r] variable_schema
2143
+ # @return [Array<ZapSMTP::Models::TemplatePublishedVariableSchema>, nil]
2144
+ attribute :variable_schema, [:array, "TemplatePublishedVariableSchema"]
2145
+ end
2146
+
2147
+ # TemplatePublishedVariableSchema, as the API answers it. Fields not listed here are kept too: read them
2148
+ # with #[] or #to_h.
2149
+ class TemplatePublishedVariableSchema < Model
2150
+ # @!attribute [r] default
2151
+ # @return [String, nil]
2152
+ attribute :default
2153
+ # @!attribute [r] description
2154
+ # @return [String, nil]
2155
+ attribute :description
2156
+ # @!attribute [r] example
2157
+ # @return [String, nil]
2158
+ attribute :example
2159
+ # @!attribute [r] name
2160
+ # @return [String]
2161
+ attribute :name
2162
+ # @!attribute [r] required
2163
+ # @return [Boolean]
2164
+ attribute :required
2165
+ # @!attribute [r] type
2166
+ # @return [String]
2167
+ attribute :type
2168
+ # @!attribute [r] unused
2169
+ # @return [Boolean, nil]
2170
+ attribute :unused
2171
+ end
2172
+
2173
+ # TemplateTimer, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2174
+ class TemplateTimer < Model
2175
+ # @!attribute [r] object
2176
+ # @return [String]
2177
+ attribute :object
2178
+ # @!attribute [r] url
2179
+ # @return [String]
2180
+ attribute :url
2181
+ end
2182
+
2183
+ # TemplateVariableSchema, as the API answers it. Fields not listed here are kept too: read them with #[]
2184
+ # or #to_h.
2185
+ class TemplateVariableSchema < Model
2186
+ # @!attribute [r] default
2187
+ # @return [String, nil]
2188
+ attribute :default
2189
+ # @!attribute [r] description
2190
+ # @return [String, nil]
2191
+ attribute :description
2192
+ # @!attribute [r] example
2193
+ # @return [String, nil]
2194
+ attribute :example
2195
+ # @!attribute [r] name
2196
+ # @return [String]
2197
+ attribute :name
2198
+ # @!attribute [r] required
2199
+ # @return [Boolean]
2200
+ attribute :required
2201
+ # @!attribute [r] type
2202
+ # @return [String]
2203
+ attribute :type
2204
+ # @!attribute [r] unused
2205
+ # @return [Boolean, nil]
2206
+ attribute :unused
2207
+ end
2208
+
2209
+ # TemplateVersion, as the API answers it. Fields not listed here are kept too: read them with #[] or
2210
+ # #to_h.
2211
+ class TemplateVersion < Model
2212
+ # @!attribute [r] author
2213
+ # @return [String]
2214
+ attribute :author
2215
+ # @!attribute [r] created_at
2216
+ # @return [String]
2217
+ attribute :created_at
2218
+ # @!attribute [r] from
2219
+ # @return [String, nil]
2220
+ attribute :from
2221
+ # @!attribute [r] html
2222
+ # @return [String, nil]
2223
+ attribute :html
2224
+ # @!attribute [r] id
2225
+ # @return [String]
2226
+ attribute :id
2227
+ # @!attribute [r] kind
2228
+ # @return [String]
2229
+ attribute :kind
2230
+ # @!attribute [r] name
2231
+ # @return [String]
2232
+ attribute :name
2233
+ # @!attribute [r] subject
2234
+ # @return [String]
2235
+ attribute :subject
2236
+ # @!attribute [r] text
2237
+ # @return [String, nil]
2238
+ attribute :text
2239
+ end
2240
+
2241
+ # Thread, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2242
+ class Thread < Model
2243
+ # @!attribute [r] awaiting_reply
2244
+ # @return [Boolean]
2245
+ attribute :awaiting_reply
2246
+ # @!attribute [r] data
2247
+ # @return [Array<ZapSMTP::Models::ThreadData>, nil]
2248
+ attribute :data, [:array, "ThreadData"]
2249
+ # @!attribute [r] first_message_at
2250
+ # @return [String]
2251
+ attribute :first_message_at
2252
+ # @!attribute [r] has_attachments
2253
+ # @return [Boolean]
2254
+ attribute :has_attachments
2255
+ # @!attribute [r] has_more
2256
+ # @return [Boolean, nil]
2257
+ attribute :has_more
2258
+ # @!attribute [r] id
2259
+ # @return [String]
2260
+ attribute :id
2261
+ # @!attribute [r] inbound_count
2262
+ # @return [Integer]
2263
+ attribute :inbound_count
2264
+ # @!attribute [r] last_inbound_at
2265
+ # @return [String]
2266
+ attribute :last_inbound_at
2267
+ # @!attribute [r] last_message
2268
+ # @return [ZapSMTP::Models::ThreadLastMessage]
2269
+ attribute :last_message, "ThreadLastMessage"
2270
+ # @!attribute [r] last_message_at
2271
+ # @return [String]
2272
+ attribute :last_message_at
2273
+ # @!attribute [r] message_count
2274
+ # @return [Integer]
2275
+ attribute :message_count
2276
+ # @!attribute [r] metadata
2277
+ # @return [Hash{String => String}]
2278
+ attribute :metadata
2279
+ # @!attribute [r] object
2280
+ # @return [String]
2281
+ attribute :object
2282
+ # @!attribute [r] outbound_count
2283
+ # @return [Integer]
2284
+ attribute :outbound_count
2285
+ # @!attribute [r] participants
2286
+ # @return [Array<String>]
2287
+ attribute :participants
2288
+ # @!attribute [r] read_at
2289
+ # @return [String, nil]
2290
+ attribute :read_at
2291
+ # @!attribute [r] subject
2292
+ # @return [String]
2293
+ attribute :subject
2294
+ # @!attribute [r] unread
2295
+ # @return [Boolean]
2296
+ attribute :unread
2297
+ end
2298
+
2299
+ # ThreadData, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2300
+ class ThreadData < Model
2301
+ # @!attribute [r] automated
2302
+ # @return [String, nil]
2303
+ attribute :automated
2304
+ # @!attribute [r] cc
2305
+ # @return [Array<String>]
2306
+ attribute :cc
2307
+ # @!attribute [r] created_at
2308
+ # @return [String]
2309
+ attribute :created_at
2310
+ # @!attribute [r] direction
2311
+ # @return [String]
2312
+ attribute :direction
2313
+ # @!attribute [r] from
2314
+ # @return [String]
2315
+ attribute :from
2316
+ # @!attribute [r] id
2317
+ # @return [String]
2318
+ attribute :id
2319
+ # @!attribute [r] message_id
2320
+ # @return [String, nil]
2321
+ attribute :message_id
2322
+ # @!attribute [r] object
2323
+ # @return [String]
2324
+ attribute :object
2325
+ # @!attribute [r] subject
2326
+ # @return [String]
2327
+ attribute :subject
2328
+ # @!attribute [r] to
2329
+ # @return [Array<String>]
2330
+ attribute :to
2331
+ end
2332
+
2333
+ # ThreadLastMessage, as the API answers it. Fields not listed here are kept too: read them with #[] or
2334
+ # #to_h.
2335
+ class ThreadLastMessage < Model
2336
+ # @!attribute [r] direction
2337
+ # @return [String]
2338
+ attribute :direction
2339
+ # @!attribute [r] from
2340
+ # @return [String]
2341
+ attribute :from
2342
+ # @!attribute [r] id
2343
+ # @return [String]
2344
+ attribute :id
2345
+ # @!attribute [r] subject
2346
+ # @return [String]
2347
+ attribute :subject
2348
+ end
2349
+
2350
+ # Usage, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2351
+ class Usage < Model
2352
+ # @!attribute [r] included
2353
+ # @return [Integer]
2354
+ attribute :included
2355
+ # @!attribute [r] limit
2356
+ # @return [Integer, nil]
2357
+ attribute :limit
2358
+ # @!attribute [r] month
2359
+ # @return [String]
2360
+ attribute :month
2361
+ # @!attribute [r] object
2362
+ # @return [String]
2363
+ attribute :object
2364
+ # @!attribute [r] overage_cents
2365
+ # @return [Integer]
2366
+ attribute :overage_cents
2367
+ # @!attribute [r] overage_emails
2368
+ # @return [Integer]
2369
+ attribute :overage_emails
2370
+ # @!attribute [r] plan
2371
+ # @return [ZapSMTP::Models::UsagePlan]
2372
+ attribute :plan, "UsagePlan"
2373
+ # @!attribute [r] sent
2374
+ # @return [Integer]
2375
+ attribute :sent
2376
+ end
2377
+
2378
+ # UsagePlan, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2379
+ class UsagePlan < Model
2380
+ # @!attribute [r] id
2381
+ # @return [String]
2382
+ attribute :id
2383
+ # @!attribute [r] name
2384
+ # @return [String]
2385
+ attribute :name
2386
+ # @!attribute [r] retention_days
2387
+ # @return [Integer]
2388
+ attribute :retention_days
2389
+ end
2390
+
2391
+ # Variable, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2392
+ class Variable < Model
2393
+ # @!attribute [r] description
2394
+ # @return [String, nil]
2395
+ attribute :description
2396
+ # @!attribute [r] key
2397
+ # @return [String, nil]
2398
+ attribute :key
2399
+ # @!attribute [r] kind
2400
+ # @return [String]
2401
+ attribute :kind
2402
+ # @!attribute [r] name
2403
+ # @return [String]
2404
+ attribute :name
2405
+ # @!attribute [r] object
2406
+ # @return [String]
2407
+ attribute :object
2408
+ # @!attribute [r] templates
2409
+ # @return [Array<ZapSMTP::Models::VariableTemplate>]
2410
+ attribute :templates, [:array, "VariableTemplate"]
2411
+ # @!attribute [r] type
2412
+ # @return [String, nil]
2413
+ attribute :type
2414
+ # @!attribute [r] types
2415
+ # @return [Array<String>, nil]
2416
+ attribute :types
2417
+ # @!attribute [r] updated_at
2418
+ # @return [String, nil]
2419
+ attribute :updated_at
2420
+ # @!attribute [r] value
2421
+ # @return [String, nil]
2422
+ attribute :value
2423
+ end
2424
+
2425
+ # VariableTemplate, as the API answers it. Fields not listed here are kept too: read them with #[] or
2426
+ # #to_h.
2427
+ class VariableTemplate < Model
2428
+ # @!attribute [r] default
2429
+ # @return [String, nil]
2430
+ attribute :default
2431
+ # @!attribute [r] id
2432
+ # @return [String]
2433
+ attribute :id
2434
+ # @!attribute [r] name
2435
+ # @return [String]
2436
+ attribute :name
2437
+ # @!attribute [r] required
2438
+ # @return [Boolean, nil]
2439
+ attribute :required
2440
+ # @!attribute [r] type
2441
+ # @return [String, nil]
2442
+ attribute :type
2443
+ # @!attribute [r] unused
2444
+ # @return [Boolean, nil]
2445
+ attribute :unused
2446
+ end
2447
+
2448
+ # Webhook, as the API answers it. Fields not listed here are kept too: read them with #[] or #to_h.
2449
+ class Webhook < Model
2450
+ # @!attribute [r] batch
2451
+ # @return [Boolean, nil]
2452
+ attribute :batch
2453
+ # @!attribute [r] created_at
2454
+ # @return [String, nil]
2455
+ attribute :created_at
2456
+ # @!attribute [r] disabled_reason
2457
+ # @return [String, nil, nil]
2458
+ attribute :disabled_reason
2459
+ # @!attribute [r] enabled
2460
+ # @return [Boolean, nil]
2461
+ attribute :enabled
2462
+ # @!attribute [r] events
2463
+ # @return [Array<String>, nil]
2464
+ attribute :events
2465
+ # @!attribute [r] filter
2466
+ # @return [Hash, nil]
2467
+ attribute :filter
2468
+ # @!attribute [r] id
2469
+ # @return [String]
2470
+ attribute :id
2471
+ # @!attribute [r] include_content
2472
+ # @return [Boolean, nil]
2473
+ attribute :include_content
2474
+ # @!attribute [r] object
2475
+ # @return [String, nil]
2476
+ attribute :object
2477
+ # @!attribute [r] previous_secret_expires_at
2478
+ # @return [String, nil]
2479
+ attribute :previous_secret_expires_at
2480
+ # @!attribute [r] secret
2481
+ # @return [String, nil]
2482
+ attribute :secret
2483
+ # @!attribute [r] url
2484
+ # @return [String, nil]
2485
+ attribute :url
2486
+ end
2487
+
2488
+ # WebhookDelivery, as the API answers it. Fields not listed here are kept too: read them with #[] or
2489
+ # #to_h.
2490
+ class WebhookDelivery < Model
2491
+ # @!attribute [r] at
2492
+ # @return [String]
2493
+ attribute :at
2494
+ # @!attribute [r] attempt
2495
+ # @return [Integer]
2496
+ attribute :attempt
2497
+ # @!attribute [r] body
2498
+ # @return [Hash{String => Object}]
2499
+ attribute :body
2500
+ # @!attribute [r] duration_ms
2501
+ # @return [Float]
2502
+ attribute :duration_ms
2503
+ # @!attribute [r] error
2504
+ # @return [String, nil]
2505
+ attribute :error
2506
+ # @!attribute [r] event_id
2507
+ # @return [String]
2508
+ attribute :event_id
2509
+ # @!attribute [r] event_type
2510
+ # @return [String]
2511
+ attribute :event_type
2512
+ # @!attribute [r] status_code
2513
+ # @return [Integer]
2514
+ attribute :status_code
2515
+ end
2516
+
2517
+ # WebhookEventRecord, as the API answers it. Fields not listed here are kept too: read them with #[] or
2518
+ # #to_h.
2519
+ class WebhookEventRecord < Model
2520
+ # @!attribute [r] attempt_list
2521
+ # @return [Array<ZapSMTP::Models::WebhookEventRecordAttemptList>, nil]
2522
+ attribute :attempt_list, [:array, "WebhookEventRecordAttemptList"]
2523
+ # @!attribute [r] attempts
2524
+ # @return [Integer]
2525
+ attribute :attempts
2526
+ # @!attribute [r] first_attempt_at
2527
+ # @return [String]
2528
+ attribute :first_attempt_at
2529
+ # @!attribute [r] id
2530
+ # @return [String]
2531
+ attribute :id
2532
+ # @!attribute [r] last_attempt_at
2533
+ # @return [String]
2534
+ attribute :last_attempt_at
2535
+ # @!attribute [r] last_error
2536
+ # @return [String, nil]
2537
+ attribute :last_error
2538
+ # @!attribute [r] last_status_code
2539
+ # @return [Integer]
2540
+ attribute :last_status_code
2541
+ # @!attribute [r] object
2542
+ # @return [String]
2543
+ attribute :object
2544
+ # @!attribute [r] payload
2545
+ # @return [Hash{String => Object}, nil]
2546
+ attribute :payload
2547
+ # @!attribute [r] status
2548
+ # @return [String]
2549
+ attribute :status
2550
+ # @!attribute [r] type
2551
+ # @return [String]
2552
+ attribute :type
2553
+ end
2554
+
2555
+ # WebhookEventRecordAttemptList, as the API answers it. Fields not listed here are kept too: read them
2556
+ # with #[] or #to_h.
2557
+ class WebhookEventRecordAttemptList < Model
2558
+ # @!attribute [r] at
2559
+ # @return [String]
2560
+ attribute :at
2561
+ # @!attribute [r] attempt
2562
+ # @return [Integer]
2563
+ attribute :attempt
2564
+ # @!attribute [r] duration_ms
2565
+ # @return [Float]
2566
+ attribute :duration_ms
2567
+ # @!attribute [r] error
2568
+ # @return [String, nil]
2569
+ attribute :error
2570
+ # @!attribute [r] status_code
2571
+ # @return [Integer]
2572
+ attribute :status_code
2573
+ end
2574
+
2575
+ # WebhookTestResult, as the API answers it. Fields not listed here are kept too: read them with #[] or
2576
+ # #to_h.
2577
+ class WebhookTestResult < Model
2578
+ # @!attribute [r] delivery
2579
+ # @return [ZapSMTP::Models::WebhookTestResultDelivery]
2580
+ attribute :delivery, "WebhookTestResultDelivery"
2581
+ # @!attribute [r] ok
2582
+ # @return [Boolean]
2583
+ attribute :ok
2584
+ # @!attribute [r] payload
2585
+ # @return [Hash{String => Object}, nil]
2586
+ attribute :payload
2587
+ end
2588
+
2589
+ # WebhookTestResultDelivery, as the API answers it. Fields not listed here are kept too: read them with
2590
+ # #[] or #to_h.
2591
+ class WebhookTestResultDelivery < Model
2592
+ # @!attribute [r] at
2593
+ # @return [String]
2594
+ attribute :at
2595
+ # @!attribute [r] attempt
2596
+ # @return [Integer]
2597
+ attribute :attempt
2598
+ # @!attribute [r] body
2599
+ # @return [Hash{String => Object}]
2600
+ attribute :body
2601
+ # @!attribute [r] duration_ms
2602
+ # @return [Float]
2603
+ attribute :duration_ms
2604
+ # @!attribute [r] error
2605
+ # @return [String, nil]
2606
+ attribute :error
2607
+ # @!attribute [r] event_id
2608
+ # @return [String]
2609
+ attribute :event_id
2610
+ # @!attribute [r] event_type
2611
+ # @return [String]
2612
+ attribute :event_type
2613
+ # @!attribute [r] status_code
2614
+ # @return [Integer]
2615
+ attribute :status_code
2616
+ end
2617
+ end
2618
+ end