moderation_api 2.15.0 → 2.16.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.
@@ -0,0 +1,4746 @@
1
+ module ModerationAPI
2
+ module Models
3
+ type webhook_event =
4
+ ModerationAPI::WebhookEvent::AuthorBlocked
5
+ | ModerationAPI::WebhookEvent::AuthorUnblocked
6
+ | ModerationAPI::WebhookEvent::AuthorSuspended
7
+ | ModerationAPI::WebhookEvent::AuthorUpdated
8
+ | ModerationAPI::WebhookEvent::AuthorTrustLevelChanged
9
+ | ModerationAPI::WebhookEvent::AuthorAction
10
+ | ModerationAPI::WebhookEvent::QueueItemCompleted
11
+ | ModerationAPI::WebhookEvent::QueueItemAction
12
+ | ModerationAPI::WebhookEvent::QueueItemRejected
13
+ | ModerationAPI::WebhookEvent::QueueItemAllowed
14
+
15
+ module WebhookEvent
16
+ extend ModerationAPI::Internal::Type::Union
17
+
18
+ type author_blocked =
19
+ {
20
+ id: String,
21
+ api_version: :v2,
22
+ created: Time,
23
+ data: ModerationAPI::WebhookEvent::AuthorBlocked::Data,
24
+ type: :"author.blocked"
25
+ }
26
+
27
+ class AuthorBlocked < ModerationAPI::Internal::Type::BaseModel
28
+ attr_accessor id: String
29
+
30
+ attr_accessor api_version: :v2
31
+
32
+ attr_accessor created: Time
33
+
34
+ attr_accessor data: ModerationAPI::WebhookEvent::AuthorBlocked::Data
35
+
36
+ attr_accessor type: :"author.blocked"
37
+
38
+ def initialize: (
39
+ id: String,
40
+ created: Time,
41
+ data: ModerationAPI::WebhookEvent::AuthorBlocked::Data,
42
+ ?api_version: :v2,
43
+ ?type: :"author.blocked"
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ id: String,
48
+ api_version: :v2,
49
+ created: Time,
50
+ data: ModerationAPI::WebhookEvent::AuthorBlocked::Data,
51
+ type: :"author.blocked"
52
+ }
53
+
54
+ type data =
55
+ { object: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object }
56
+
57
+ class Data < ModerationAPI::Internal::Type::BaseModel
58
+ attr_accessor object: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object
59
+
60
+ def initialize: (
61
+ object: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ object: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object
66
+ }
67
+
68
+ type object =
69
+ {
70
+ id: String,
71
+ author: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author,
72
+ created_at: Time,
73
+ key: String?,
74
+ name: String?,
75
+ value: String?,
76
+ queue: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Queue
77
+ }
78
+
79
+ class Object < ModerationAPI::Internal::Type::BaseModel
80
+ attr_accessor id: String
81
+
82
+ attr_accessor author: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author
83
+
84
+ attr_accessor created_at: Time
85
+
86
+ attr_accessor key: String?
87
+
88
+ attr_accessor name: String?
89
+
90
+ attr_accessor value: String?
91
+
92
+ attr_reader queue: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Queue?
93
+
94
+ def queue=: (
95
+ ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Queue
96
+ ) -> ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Queue
97
+
98
+ def initialize: (
99
+ id: String,
100
+ author: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author,
101
+ created_at: Time,
102
+ key: String?,
103
+ name: String?,
104
+ value: String?,
105
+ ?queue: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Queue
106
+ ) -> void
107
+
108
+ def to_hash: -> {
109
+ id: String,
110
+ author: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author,
111
+ created_at: Time,
112
+ key: String?,
113
+ name: String?,
114
+ value: String?,
115
+ queue: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Queue
116
+ }
117
+
118
+ type author =
119
+ {
120
+ id: String,
121
+ block: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Block?,
122
+ first_seen: Float,
123
+ last_seen: Float,
124
+ metadata: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metadata,
125
+ metrics: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metrics,
126
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::RiskEvaluation?,
127
+ status: ModerationAPI::Models::WebhookEvent::AuthorBlocked::Data::Object::Author::status,
128
+ trust_level: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::TrustLevel,
129
+ company: String?,
130
+ email: String?,
131
+ external_id: String?,
132
+ external_link: String?,
133
+ last_incident: Float?,
134
+ name: String?,
135
+ profile_picture: String?
136
+ }
137
+
138
+ class Author < ModerationAPI::Internal::Type::BaseModel
139
+ attr_accessor id: String
140
+
141
+ attr_accessor block: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Block?
142
+
143
+ attr_accessor first_seen: Float
144
+
145
+ attr_accessor last_seen: Float
146
+
147
+ attr_accessor metadata: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metadata
148
+
149
+ attr_accessor metrics: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metrics
150
+
151
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::RiskEvaluation?
152
+
153
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::AuthorBlocked::Data::Object::Author::status
154
+
155
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::TrustLevel
156
+
157
+ attr_accessor company: String?
158
+
159
+ attr_accessor email: String?
160
+
161
+ attr_accessor external_id: String?
162
+
163
+ attr_accessor external_link: String?
164
+
165
+ attr_accessor last_incident: Float?
166
+
167
+ attr_accessor name: String?
168
+
169
+ attr_accessor profile_picture: String?
170
+
171
+ def initialize: (
172
+ id: String,
173
+ block: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Block?,
174
+ first_seen: Float,
175
+ last_seen: Float,
176
+ metadata: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metadata,
177
+ metrics: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metrics,
178
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::RiskEvaluation?,
179
+ status: ModerationAPI::Models::WebhookEvent::AuthorBlocked::Data::Object::Author::status,
180
+ trust_level: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::TrustLevel,
181
+ ?company: String?,
182
+ ?email: String?,
183
+ ?external_id: String?,
184
+ ?external_link: String?,
185
+ ?last_incident: Float?,
186
+ ?name: String?,
187
+ ?profile_picture: String?
188
+ ) -> void
189
+
190
+ def to_hash: -> {
191
+ id: String,
192
+ block: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Block?,
193
+ first_seen: Float,
194
+ last_seen: Float,
195
+ metadata: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metadata,
196
+ metrics: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::Metrics,
197
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::RiskEvaluation?,
198
+ status: ModerationAPI::Models::WebhookEvent::AuthorBlocked::Data::Object::Author::status,
199
+ trust_level: ModerationAPI::WebhookEvent::AuthorBlocked::Data::Object::Author::TrustLevel,
200
+ company: String?,
201
+ email: String?,
202
+ external_id: String?,
203
+ external_link: String?,
204
+ last_incident: Float?,
205
+ name: String?,
206
+ profile_picture: String?
207
+ }
208
+
209
+ type block = { reason: String?, until_: Float? }
210
+
211
+ class Block < ModerationAPI::Internal::Type::BaseModel
212
+ attr_accessor reason: String?
213
+
214
+ attr_accessor until_: Float?
215
+
216
+ def initialize: (?reason: String?, ?until_: Float?) -> void
217
+
218
+ def to_hash: -> { reason: String?, until_: Float? }
219
+ end
220
+
221
+ type metadata =
222
+ {
223
+ email_verified: bool?,
224
+ identity_verified: bool?,
225
+ is_paying_customer: bool?,
226
+ phone_verified: bool?
227
+ }
228
+
229
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
230
+ attr_accessor email_verified: bool?
231
+
232
+ attr_accessor identity_verified: bool?
233
+
234
+ attr_accessor is_paying_customer: bool?
235
+
236
+ attr_accessor phone_verified: bool?
237
+
238
+ def initialize: (
239
+ ?email_verified: bool?,
240
+ ?identity_verified: bool?,
241
+ ?is_paying_customer: bool?,
242
+ ?phone_verified: bool?
243
+ ) -> void
244
+
245
+ def to_hash: -> {
246
+ email_verified: bool?,
247
+ identity_verified: bool?,
248
+ is_paying_customer: bool?,
249
+ phone_verified: bool?
250
+ }
251
+ end
252
+
253
+ type metrics =
254
+ {
255
+ flagged_content: Float,
256
+ total_content: Float,
257
+ average_sentiment: Float?
258
+ }
259
+
260
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
261
+ attr_accessor flagged_content: Float
262
+
263
+ attr_accessor total_content: Float
264
+
265
+ attr_accessor average_sentiment: Float?
266
+
267
+ def initialize: (
268
+ flagged_content: Float,
269
+ total_content: Float,
270
+ ?average_sentiment: Float?
271
+ ) -> void
272
+
273
+ def to_hash: -> {
274
+ flagged_content: Float,
275
+ total_content: Float,
276
+ average_sentiment: Float?
277
+ }
278
+ end
279
+
280
+ type risk_evaluation = { risk_level: Float? }
281
+
282
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
283
+ attr_accessor risk_level: Float?
284
+
285
+ def initialize: (?risk_level: Float?) -> void
286
+
287
+ def to_hash: -> { risk_level: Float? }
288
+ end
289
+
290
+ type status = :enabled | :suspended | :blocked
291
+
292
+ module Status
293
+ extend ModerationAPI::Internal::Type::Enum
294
+
295
+ ENABLED: :enabled
296
+ SUSPENDED: :suspended
297
+ BLOCKED: :blocked
298
+
299
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::AuthorBlocked::Data::Object::Author::status]
300
+ end
301
+
302
+ type trust_level = { level: Float, manual: bool }
303
+
304
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
305
+ attr_accessor level: Float
306
+
307
+ attr_accessor manual: bool
308
+
309
+ def initialize: (level: Float, manual: bool) -> void
310
+
311
+ def to_hash: -> { level: Float, manual: bool }
312
+ end
313
+ end
314
+
315
+ type queue = { id: String }
316
+
317
+ class Queue < ModerationAPI::Internal::Type::BaseModel
318
+ attr_accessor id: String
319
+
320
+ def initialize: (id: String) -> void
321
+
322
+ def to_hash: -> { id: String }
323
+ end
324
+ end
325
+ end
326
+ end
327
+
328
+ type author_unblocked =
329
+ {
330
+ id: String,
331
+ api_version: :v2,
332
+ created: Time,
333
+ data: ModerationAPI::WebhookEvent::AuthorUnblocked::Data,
334
+ type: :"author.unblocked"
335
+ }
336
+
337
+ class AuthorUnblocked < ModerationAPI::Internal::Type::BaseModel
338
+ attr_accessor id: String
339
+
340
+ attr_accessor api_version: :v2
341
+
342
+ attr_accessor created: Time
343
+
344
+ attr_accessor data: ModerationAPI::WebhookEvent::AuthorUnblocked::Data
345
+
346
+ attr_accessor type: :"author.unblocked"
347
+
348
+ def initialize: (
349
+ id: String,
350
+ created: Time,
351
+ data: ModerationAPI::WebhookEvent::AuthorUnblocked::Data,
352
+ ?api_version: :v2,
353
+ ?type: :"author.unblocked"
354
+ ) -> void
355
+
356
+ def to_hash: -> {
357
+ id: String,
358
+ api_version: :v2,
359
+ created: Time,
360
+ data: ModerationAPI::WebhookEvent::AuthorUnblocked::Data,
361
+ type: :"author.unblocked"
362
+ }
363
+
364
+ type data =
365
+ { object: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object }
366
+
367
+ class Data < ModerationAPI::Internal::Type::BaseModel
368
+ attr_accessor object: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object
369
+
370
+ def initialize: (
371
+ object: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object
372
+ ) -> void
373
+
374
+ def to_hash: -> {
375
+ object: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object
376
+ }
377
+
378
+ type object =
379
+ {
380
+ id: String,
381
+ author: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author,
382
+ created_at: Time,
383
+ key: String?,
384
+ name: String?,
385
+ value: String?,
386
+ queue: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Queue
387
+ }
388
+
389
+ class Object < ModerationAPI::Internal::Type::BaseModel
390
+ attr_accessor id: String
391
+
392
+ attr_accessor author: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author
393
+
394
+ attr_accessor created_at: Time
395
+
396
+ attr_accessor key: String?
397
+
398
+ attr_accessor name: String?
399
+
400
+ attr_accessor value: String?
401
+
402
+ attr_reader queue: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Queue?
403
+
404
+ def queue=: (
405
+ ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Queue
406
+ ) -> ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Queue
407
+
408
+ def initialize: (
409
+ id: String,
410
+ author: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author,
411
+ created_at: Time,
412
+ key: String?,
413
+ name: String?,
414
+ value: String?,
415
+ ?queue: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Queue
416
+ ) -> void
417
+
418
+ def to_hash: -> {
419
+ id: String,
420
+ author: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author,
421
+ created_at: Time,
422
+ key: String?,
423
+ name: String?,
424
+ value: String?,
425
+ queue: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Queue
426
+ }
427
+
428
+ type author =
429
+ {
430
+ id: String,
431
+ block: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Block?,
432
+ first_seen: Float,
433
+ last_seen: Float,
434
+ metadata: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metadata,
435
+ metrics: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metrics,
436
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::RiskEvaluation?,
437
+ status: ModerationAPI::Models::WebhookEvent::AuthorUnblocked::Data::Object::Author::status,
438
+ trust_level: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::TrustLevel,
439
+ company: String?,
440
+ email: String?,
441
+ external_id: String?,
442
+ external_link: String?,
443
+ last_incident: Float?,
444
+ name: String?,
445
+ profile_picture: String?
446
+ }
447
+
448
+ class Author < ModerationAPI::Internal::Type::BaseModel
449
+ attr_accessor id: String
450
+
451
+ attr_accessor block: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Block?
452
+
453
+ attr_accessor first_seen: Float
454
+
455
+ attr_accessor last_seen: Float
456
+
457
+ attr_accessor metadata: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metadata
458
+
459
+ attr_accessor metrics: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metrics
460
+
461
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::RiskEvaluation?
462
+
463
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::AuthorUnblocked::Data::Object::Author::status
464
+
465
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::TrustLevel
466
+
467
+ attr_accessor company: String?
468
+
469
+ attr_accessor email: String?
470
+
471
+ attr_accessor external_id: String?
472
+
473
+ attr_accessor external_link: String?
474
+
475
+ attr_accessor last_incident: Float?
476
+
477
+ attr_accessor name: String?
478
+
479
+ attr_accessor profile_picture: String?
480
+
481
+ def initialize: (
482
+ id: String,
483
+ block: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Block?,
484
+ first_seen: Float,
485
+ last_seen: Float,
486
+ metadata: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metadata,
487
+ metrics: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metrics,
488
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::RiskEvaluation?,
489
+ status: ModerationAPI::Models::WebhookEvent::AuthorUnblocked::Data::Object::Author::status,
490
+ trust_level: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::TrustLevel,
491
+ ?company: String?,
492
+ ?email: String?,
493
+ ?external_id: String?,
494
+ ?external_link: String?,
495
+ ?last_incident: Float?,
496
+ ?name: String?,
497
+ ?profile_picture: String?
498
+ ) -> void
499
+
500
+ def to_hash: -> {
501
+ id: String,
502
+ block: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Block?,
503
+ first_seen: Float,
504
+ last_seen: Float,
505
+ metadata: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metadata,
506
+ metrics: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::Metrics,
507
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::RiskEvaluation?,
508
+ status: ModerationAPI::Models::WebhookEvent::AuthorUnblocked::Data::Object::Author::status,
509
+ trust_level: ModerationAPI::WebhookEvent::AuthorUnblocked::Data::Object::Author::TrustLevel,
510
+ company: String?,
511
+ email: String?,
512
+ external_id: String?,
513
+ external_link: String?,
514
+ last_incident: Float?,
515
+ name: String?,
516
+ profile_picture: String?
517
+ }
518
+
519
+ type block = { reason: String?, until_: Float? }
520
+
521
+ class Block < ModerationAPI::Internal::Type::BaseModel
522
+ attr_accessor reason: String?
523
+
524
+ attr_accessor until_: Float?
525
+
526
+ def initialize: (?reason: String?, ?until_: Float?) -> void
527
+
528
+ def to_hash: -> { reason: String?, until_: Float? }
529
+ end
530
+
531
+ type metadata =
532
+ {
533
+ email_verified: bool?,
534
+ identity_verified: bool?,
535
+ is_paying_customer: bool?,
536
+ phone_verified: bool?
537
+ }
538
+
539
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
540
+ attr_accessor email_verified: bool?
541
+
542
+ attr_accessor identity_verified: bool?
543
+
544
+ attr_accessor is_paying_customer: bool?
545
+
546
+ attr_accessor phone_verified: bool?
547
+
548
+ def initialize: (
549
+ ?email_verified: bool?,
550
+ ?identity_verified: bool?,
551
+ ?is_paying_customer: bool?,
552
+ ?phone_verified: bool?
553
+ ) -> void
554
+
555
+ def to_hash: -> {
556
+ email_verified: bool?,
557
+ identity_verified: bool?,
558
+ is_paying_customer: bool?,
559
+ phone_verified: bool?
560
+ }
561
+ end
562
+
563
+ type metrics =
564
+ {
565
+ flagged_content: Float,
566
+ total_content: Float,
567
+ average_sentiment: Float?
568
+ }
569
+
570
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
571
+ attr_accessor flagged_content: Float
572
+
573
+ attr_accessor total_content: Float
574
+
575
+ attr_accessor average_sentiment: Float?
576
+
577
+ def initialize: (
578
+ flagged_content: Float,
579
+ total_content: Float,
580
+ ?average_sentiment: Float?
581
+ ) -> void
582
+
583
+ def to_hash: -> {
584
+ flagged_content: Float,
585
+ total_content: Float,
586
+ average_sentiment: Float?
587
+ }
588
+ end
589
+
590
+ type risk_evaluation = { risk_level: Float? }
591
+
592
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
593
+ attr_accessor risk_level: Float?
594
+
595
+ def initialize: (?risk_level: Float?) -> void
596
+
597
+ def to_hash: -> { risk_level: Float? }
598
+ end
599
+
600
+ type status = :enabled | :suspended | :blocked
601
+
602
+ module Status
603
+ extend ModerationAPI::Internal::Type::Enum
604
+
605
+ ENABLED: :enabled
606
+ SUSPENDED: :suspended
607
+ BLOCKED: :blocked
608
+
609
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::AuthorUnblocked::Data::Object::Author::status]
610
+ end
611
+
612
+ type trust_level = { level: Float, manual: bool }
613
+
614
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
615
+ attr_accessor level: Float
616
+
617
+ attr_accessor manual: bool
618
+
619
+ def initialize: (level: Float, manual: bool) -> void
620
+
621
+ def to_hash: -> { level: Float, manual: bool }
622
+ end
623
+ end
624
+
625
+ type queue = { id: String }
626
+
627
+ class Queue < ModerationAPI::Internal::Type::BaseModel
628
+ attr_accessor id: String
629
+
630
+ def initialize: (id: String) -> void
631
+
632
+ def to_hash: -> { id: String }
633
+ end
634
+ end
635
+ end
636
+ end
637
+
638
+ type author_suspended =
639
+ {
640
+ id: String,
641
+ api_version: :v2,
642
+ created: Time,
643
+ data: ModerationAPI::WebhookEvent::AuthorSuspended::Data,
644
+ type: :"author.suspended"
645
+ }
646
+
647
+ class AuthorSuspended < ModerationAPI::Internal::Type::BaseModel
648
+ attr_accessor id: String
649
+
650
+ attr_accessor api_version: :v2
651
+
652
+ attr_accessor created: Time
653
+
654
+ attr_accessor data: ModerationAPI::WebhookEvent::AuthorSuspended::Data
655
+
656
+ attr_accessor type: :"author.suspended"
657
+
658
+ def initialize: (
659
+ id: String,
660
+ created: Time,
661
+ data: ModerationAPI::WebhookEvent::AuthorSuspended::Data,
662
+ ?api_version: :v2,
663
+ ?type: :"author.suspended"
664
+ ) -> void
665
+
666
+ def to_hash: -> {
667
+ id: String,
668
+ api_version: :v2,
669
+ created: Time,
670
+ data: ModerationAPI::WebhookEvent::AuthorSuspended::Data,
671
+ type: :"author.suspended"
672
+ }
673
+
674
+ type data =
675
+ { object: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object }
676
+
677
+ class Data < ModerationAPI::Internal::Type::BaseModel
678
+ attr_accessor object: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object
679
+
680
+ def initialize: (
681
+ object: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object
682
+ ) -> void
683
+
684
+ def to_hash: -> {
685
+ object: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object
686
+ }
687
+
688
+ type object =
689
+ {
690
+ id: String,
691
+ author: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author,
692
+ created_at: Time,
693
+ key: String?,
694
+ name: String?,
695
+ value: String?,
696
+ queue: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Queue
697
+ }
698
+
699
+ class Object < ModerationAPI::Internal::Type::BaseModel
700
+ attr_accessor id: String
701
+
702
+ attr_accessor author: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author
703
+
704
+ attr_accessor created_at: Time
705
+
706
+ attr_accessor key: String?
707
+
708
+ attr_accessor name: String?
709
+
710
+ attr_accessor value: String?
711
+
712
+ attr_reader queue: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Queue?
713
+
714
+ def queue=: (
715
+ ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Queue
716
+ ) -> ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Queue
717
+
718
+ def initialize: (
719
+ id: String,
720
+ author: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author,
721
+ created_at: Time,
722
+ key: String?,
723
+ name: String?,
724
+ value: String?,
725
+ ?queue: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Queue
726
+ ) -> void
727
+
728
+ def to_hash: -> {
729
+ id: String,
730
+ author: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author,
731
+ created_at: Time,
732
+ key: String?,
733
+ name: String?,
734
+ value: String?,
735
+ queue: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Queue
736
+ }
737
+
738
+ type author =
739
+ {
740
+ id: String,
741
+ block: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Block?,
742
+ first_seen: Float,
743
+ last_seen: Float,
744
+ metadata: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metadata,
745
+ metrics: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metrics,
746
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::RiskEvaluation?,
747
+ status: ModerationAPI::Models::WebhookEvent::AuthorSuspended::Data::Object::Author::status,
748
+ trust_level: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::TrustLevel,
749
+ company: String?,
750
+ email: String?,
751
+ external_id: String?,
752
+ external_link: String?,
753
+ last_incident: Float?,
754
+ name: String?,
755
+ profile_picture: String?
756
+ }
757
+
758
+ class Author < ModerationAPI::Internal::Type::BaseModel
759
+ attr_accessor id: String
760
+
761
+ attr_accessor block: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Block?
762
+
763
+ attr_accessor first_seen: Float
764
+
765
+ attr_accessor last_seen: Float
766
+
767
+ attr_accessor metadata: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metadata
768
+
769
+ attr_accessor metrics: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metrics
770
+
771
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::RiskEvaluation?
772
+
773
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::AuthorSuspended::Data::Object::Author::status
774
+
775
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::TrustLevel
776
+
777
+ attr_accessor company: String?
778
+
779
+ attr_accessor email: String?
780
+
781
+ attr_accessor external_id: String?
782
+
783
+ attr_accessor external_link: String?
784
+
785
+ attr_accessor last_incident: Float?
786
+
787
+ attr_accessor name: String?
788
+
789
+ attr_accessor profile_picture: String?
790
+
791
+ def initialize: (
792
+ id: String,
793
+ block: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Block?,
794
+ first_seen: Float,
795
+ last_seen: Float,
796
+ metadata: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metadata,
797
+ metrics: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metrics,
798
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::RiskEvaluation?,
799
+ status: ModerationAPI::Models::WebhookEvent::AuthorSuspended::Data::Object::Author::status,
800
+ trust_level: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::TrustLevel,
801
+ ?company: String?,
802
+ ?email: String?,
803
+ ?external_id: String?,
804
+ ?external_link: String?,
805
+ ?last_incident: Float?,
806
+ ?name: String?,
807
+ ?profile_picture: String?
808
+ ) -> void
809
+
810
+ def to_hash: -> {
811
+ id: String,
812
+ block: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Block?,
813
+ first_seen: Float,
814
+ last_seen: Float,
815
+ metadata: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metadata,
816
+ metrics: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::Metrics,
817
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::RiskEvaluation?,
818
+ status: ModerationAPI::Models::WebhookEvent::AuthorSuspended::Data::Object::Author::status,
819
+ trust_level: ModerationAPI::WebhookEvent::AuthorSuspended::Data::Object::Author::TrustLevel,
820
+ company: String?,
821
+ email: String?,
822
+ external_id: String?,
823
+ external_link: String?,
824
+ last_incident: Float?,
825
+ name: String?,
826
+ profile_picture: String?
827
+ }
828
+
829
+ type block = { reason: String?, until_: Float? }
830
+
831
+ class Block < ModerationAPI::Internal::Type::BaseModel
832
+ attr_accessor reason: String?
833
+
834
+ attr_accessor until_: Float?
835
+
836
+ def initialize: (?reason: String?, ?until_: Float?) -> void
837
+
838
+ def to_hash: -> { reason: String?, until_: Float? }
839
+ end
840
+
841
+ type metadata =
842
+ {
843
+ email_verified: bool?,
844
+ identity_verified: bool?,
845
+ is_paying_customer: bool?,
846
+ phone_verified: bool?
847
+ }
848
+
849
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
850
+ attr_accessor email_verified: bool?
851
+
852
+ attr_accessor identity_verified: bool?
853
+
854
+ attr_accessor is_paying_customer: bool?
855
+
856
+ attr_accessor phone_verified: bool?
857
+
858
+ def initialize: (
859
+ ?email_verified: bool?,
860
+ ?identity_verified: bool?,
861
+ ?is_paying_customer: bool?,
862
+ ?phone_verified: bool?
863
+ ) -> void
864
+
865
+ def to_hash: -> {
866
+ email_verified: bool?,
867
+ identity_verified: bool?,
868
+ is_paying_customer: bool?,
869
+ phone_verified: bool?
870
+ }
871
+ end
872
+
873
+ type metrics =
874
+ {
875
+ flagged_content: Float,
876
+ total_content: Float,
877
+ average_sentiment: Float?
878
+ }
879
+
880
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
881
+ attr_accessor flagged_content: Float
882
+
883
+ attr_accessor total_content: Float
884
+
885
+ attr_accessor average_sentiment: Float?
886
+
887
+ def initialize: (
888
+ flagged_content: Float,
889
+ total_content: Float,
890
+ ?average_sentiment: Float?
891
+ ) -> void
892
+
893
+ def to_hash: -> {
894
+ flagged_content: Float,
895
+ total_content: Float,
896
+ average_sentiment: Float?
897
+ }
898
+ end
899
+
900
+ type risk_evaluation = { risk_level: Float? }
901
+
902
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
903
+ attr_accessor risk_level: Float?
904
+
905
+ def initialize: (?risk_level: Float?) -> void
906
+
907
+ def to_hash: -> { risk_level: Float? }
908
+ end
909
+
910
+ type status = :enabled | :suspended | :blocked
911
+
912
+ module Status
913
+ extend ModerationAPI::Internal::Type::Enum
914
+
915
+ ENABLED: :enabled
916
+ SUSPENDED: :suspended
917
+ BLOCKED: :blocked
918
+
919
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::AuthorSuspended::Data::Object::Author::status]
920
+ end
921
+
922
+ type trust_level = { level: Float, manual: bool }
923
+
924
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
925
+ attr_accessor level: Float
926
+
927
+ attr_accessor manual: bool
928
+
929
+ def initialize: (level: Float, manual: bool) -> void
930
+
931
+ def to_hash: -> { level: Float, manual: bool }
932
+ end
933
+ end
934
+
935
+ type queue = { id: String }
936
+
937
+ class Queue < ModerationAPI::Internal::Type::BaseModel
938
+ attr_accessor id: String
939
+
940
+ def initialize: (id: String) -> void
941
+
942
+ def to_hash: -> { id: String }
943
+ end
944
+ end
945
+ end
946
+ end
947
+
948
+ type author_updated =
949
+ {
950
+ id: String,
951
+ api_version: :v2,
952
+ created: Time,
953
+ data: ModerationAPI::WebhookEvent::AuthorUpdated::Data,
954
+ type: :"author.updated"
955
+ }
956
+
957
+ class AuthorUpdated < ModerationAPI::Internal::Type::BaseModel
958
+ attr_accessor id: String
959
+
960
+ attr_accessor api_version: :v2
961
+
962
+ attr_accessor created: Time
963
+
964
+ attr_accessor data: ModerationAPI::WebhookEvent::AuthorUpdated::Data
965
+
966
+ attr_accessor type: :"author.updated"
967
+
968
+ def initialize: (
969
+ id: String,
970
+ created: Time,
971
+ data: ModerationAPI::WebhookEvent::AuthorUpdated::Data,
972
+ ?api_version: :v2,
973
+ ?type: :"author.updated"
974
+ ) -> void
975
+
976
+ def to_hash: -> {
977
+ id: String,
978
+ api_version: :v2,
979
+ created: Time,
980
+ data: ModerationAPI::WebhookEvent::AuthorUpdated::Data,
981
+ type: :"author.updated"
982
+ }
983
+
984
+ type data =
985
+ { object: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object }
986
+
987
+ class Data < ModerationAPI::Internal::Type::BaseModel
988
+ attr_accessor object: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object
989
+
990
+ def initialize: (
991
+ object: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object
992
+ ) -> void
993
+
994
+ def to_hash: -> {
995
+ object: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object
996
+ }
997
+
998
+ type object =
999
+ {
1000
+ id: String,
1001
+ block: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Block?,
1002
+ first_seen: Float,
1003
+ last_seen: Float,
1004
+ metadata: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metadata,
1005
+ metrics: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metrics,
1006
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::RiskEvaluation?,
1007
+ status: ModerationAPI::Models::WebhookEvent::AuthorUpdated::Data::Object::status,
1008
+ trust_level: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::TrustLevel,
1009
+ company: String?,
1010
+ email: String?,
1011
+ external_id: String?,
1012
+ external_link: String?,
1013
+ last_incident: Float?,
1014
+ name: String?,
1015
+ profile_picture: String?
1016
+ }
1017
+
1018
+ class Object < ModerationAPI::Internal::Type::BaseModel
1019
+ attr_accessor id: String
1020
+
1021
+ attr_accessor block: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Block?
1022
+
1023
+ attr_accessor first_seen: Float
1024
+
1025
+ attr_accessor last_seen: Float
1026
+
1027
+ attr_accessor metadata: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metadata
1028
+
1029
+ attr_accessor metrics: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metrics
1030
+
1031
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::RiskEvaluation?
1032
+
1033
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::AuthorUpdated::Data::Object::status
1034
+
1035
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::TrustLevel
1036
+
1037
+ attr_accessor company: String?
1038
+
1039
+ attr_accessor email: String?
1040
+
1041
+ attr_accessor external_id: String?
1042
+
1043
+ attr_accessor external_link: String?
1044
+
1045
+ attr_accessor last_incident: Float?
1046
+
1047
+ attr_accessor name: String?
1048
+
1049
+ attr_accessor profile_picture: String?
1050
+
1051
+ def initialize: (
1052
+ id: String,
1053
+ block: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Block?,
1054
+ first_seen: Float,
1055
+ last_seen: Float,
1056
+ metadata: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metadata,
1057
+ metrics: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metrics,
1058
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::RiskEvaluation?,
1059
+ status: ModerationAPI::Models::WebhookEvent::AuthorUpdated::Data::Object::status,
1060
+ trust_level: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::TrustLevel,
1061
+ ?company: String?,
1062
+ ?email: String?,
1063
+ ?external_id: String?,
1064
+ ?external_link: String?,
1065
+ ?last_incident: Float?,
1066
+ ?name: String?,
1067
+ ?profile_picture: String?
1068
+ ) -> void
1069
+
1070
+ def to_hash: -> {
1071
+ id: String,
1072
+ block: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Block?,
1073
+ first_seen: Float,
1074
+ last_seen: Float,
1075
+ metadata: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metadata,
1076
+ metrics: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::Metrics,
1077
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::RiskEvaluation?,
1078
+ status: ModerationAPI::Models::WebhookEvent::AuthorUpdated::Data::Object::status,
1079
+ trust_level: ModerationAPI::WebhookEvent::AuthorUpdated::Data::Object::TrustLevel,
1080
+ company: String?,
1081
+ email: String?,
1082
+ external_id: String?,
1083
+ external_link: String?,
1084
+ last_incident: Float?,
1085
+ name: String?,
1086
+ profile_picture: String?
1087
+ }
1088
+
1089
+ type block = { reason: String?, until_: Float? }
1090
+
1091
+ class Block < ModerationAPI::Internal::Type::BaseModel
1092
+ attr_accessor reason: String?
1093
+
1094
+ attr_accessor until_: Float?
1095
+
1096
+ def initialize: (?reason: String?, ?until_: Float?) -> void
1097
+
1098
+ def to_hash: -> { reason: String?, until_: Float? }
1099
+ end
1100
+
1101
+ type metadata =
1102
+ {
1103
+ email_verified: bool?,
1104
+ identity_verified: bool?,
1105
+ is_paying_customer: bool?,
1106
+ phone_verified: bool?
1107
+ }
1108
+
1109
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
1110
+ attr_accessor email_verified: bool?
1111
+
1112
+ attr_accessor identity_verified: bool?
1113
+
1114
+ attr_accessor is_paying_customer: bool?
1115
+
1116
+ attr_accessor phone_verified: bool?
1117
+
1118
+ def initialize: (
1119
+ ?email_verified: bool?,
1120
+ ?identity_verified: bool?,
1121
+ ?is_paying_customer: bool?,
1122
+ ?phone_verified: bool?
1123
+ ) -> void
1124
+
1125
+ def to_hash: -> {
1126
+ email_verified: bool?,
1127
+ identity_verified: bool?,
1128
+ is_paying_customer: bool?,
1129
+ phone_verified: bool?
1130
+ }
1131
+ end
1132
+
1133
+ type metrics =
1134
+ {
1135
+ flagged_content: Float,
1136
+ total_content: Float,
1137
+ average_sentiment: Float?
1138
+ }
1139
+
1140
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
1141
+ attr_accessor flagged_content: Float
1142
+
1143
+ attr_accessor total_content: Float
1144
+
1145
+ attr_accessor average_sentiment: Float?
1146
+
1147
+ def initialize: (
1148
+ flagged_content: Float,
1149
+ total_content: Float,
1150
+ ?average_sentiment: Float?
1151
+ ) -> void
1152
+
1153
+ def to_hash: -> {
1154
+ flagged_content: Float,
1155
+ total_content: Float,
1156
+ average_sentiment: Float?
1157
+ }
1158
+ end
1159
+
1160
+ type risk_evaluation = { risk_level: Float? }
1161
+
1162
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
1163
+ attr_accessor risk_level: Float?
1164
+
1165
+ def initialize: (?risk_level: Float?) -> void
1166
+
1167
+ def to_hash: -> { risk_level: Float? }
1168
+ end
1169
+
1170
+ type status = :enabled | :suspended | :blocked
1171
+
1172
+ module Status
1173
+ extend ModerationAPI::Internal::Type::Enum
1174
+
1175
+ ENABLED: :enabled
1176
+ SUSPENDED: :suspended
1177
+ BLOCKED: :blocked
1178
+
1179
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::AuthorUpdated::Data::Object::status]
1180
+ end
1181
+
1182
+ type trust_level = { level: Float, manual: bool }
1183
+
1184
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
1185
+ attr_accessor level: Float
1186
+
1187
+ attr_accessor manual: bool
1188
+
1189
+ def initialize: (level: Float, manual: bool) -> void
1190
+
1191
+ def to_hash: -> { level: Float, manual: bool }
1192
+ end
1193
+ end
1194
+ end
1195
+ end
1196
+
1197
+ type author_trust_level_changed =
1198
+ {
1199
+ id: String,
1200
+ api_version: :v2,
1201
+ created: Time,
1202
+ data: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data,
1203
+ type: :"author.trust_level_changed"
1204
+ }
1205
+
1206
+ class AuthorTrustLevelChanged < ModerationAPI::Internal::Type::BaseModel
1207
+ attr_accessor id: String
1208
+
1209
+ attr_accessor api_version: :v2
1210
+
1211
+ attr_accessor created: Time
1212
+
1213
+ attr_accessor data: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data
1214
+
1215
+ attr_accessor type: :"author.trust_level_changed"
1216
+
1217
+ def initialize: (
1218
+ id: String,
1219
+ created: Time,
1220
+ data: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data,
1221
+ ?api_version: :v2,
1222
+ ?type: :"author.trust_level_changed"
1223
+ ) -> void
1224
+
1225
+ def to_hash: -> {
1226
+ id: String,
1227
+ api_version: :v2,
1228
+ created: Time,
1229
+ data: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data,
1230
+ type: :"author.trust_level_changed"
1231
+ }
1232
+
1233
+ type data =
1234
+ {
1235
+ object: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object
1236
+ }
1237
+
1238
+ class Data < ModerationAPI::Internal::Type::BaseModel
1239
+ attr_accessor object: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object
1240
+
1241
+ def initialize: (
1242
+ object: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object
1243
+ ) -> void
1244
+
1245
+ def to_hash: -> {
1246
+ object: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object
1247
+ }
1248
+
1249
+ type object =
1250
+ {
1251
+ id: String,
1252
+ block: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Block?,
1253
+ first_seen: Float,
1254
+ last_seen: Float,
1255
+ metadata: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metadata,
1256
+ metrics: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metrics,
1257
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::RiskEvaluation?,
1258
+ status: ModerationAPI::Models::WebhookEvent::AuthorTrustLevelChanged::Data::Object::status,
1259
+ trust_level: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::TrustLevel,
1260
+ company: String?,
1261
+ email: String?,
1262
+ external_id: String?,
1263
+ external_link: String?,
1264
+ last_incident: Float?,
1265
+ name: String?,
1266
+ profile_picture: String?
1267
+ }
1268
+
1269
+ class Object < ModerationAPI::Internal::Type::BaseModel
1270
+ attr_accessor id: String
1271
+
1272
+ attr_accessor block: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Block?
1273
+
1274
+ attr_accessor first_seen: Float
1275
+
1276
+ attr_accessor last_seen: Float
1277
+
1278
+ attr_accessor metadata: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metadata
1279
+
1280
+ attr_accessor metrics: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metrics
1281
+
1282
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::RiskEvaluation?
1283
+
1284
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::AuthorTrustLevelChanged::Data::Object::status
1285
+
1286
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::TrustLevel
1287
+
1288
+ attr_accessor company: String?
1289
+
1290
+ attr_accessor email: String?
1291
+
1292
+ attr_accessor external_id: String?
1293
+
1294
+ attr_accessor external_link: String?
1295
+
1296
+ attr_accessor last_incident: Float?
1297
+
1298
+ attr_accessor name: String?
1299
+
1300
+ attr_accessor profile_picture: String?
1301
+
1302
+ def initialize: (
1303
+ id: String,
1304
+ block: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Block?,
1305
+ first_seen: Float,
1306
+ last_seen: Float,
1307
+ metadata: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metadata,
1308
+ metrics: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metrics,
1309
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::RiskEvaluation?,
1310
+ status: ModerationAPI::Models::WebhookEvent::AuthorTrustLevelChanged::Data::Object::status,
1311
+ trust_level: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::TrustLevel,
1312
+ ?company: String?,
1313
+ ?email: String?,
1314
+ ?external_id: String?,
1315
+ ?external_link: String?,
1316
+ ?last_incident: Float?,
1317
+ ?name: String?,
1318
+ ?profile_picture: String?
1319
+ ) -> void
1320
+
1321
+ def to_hash: -> {
1322
+ id: String,
1323
+ block: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Block?,
1324
+ first_seen: Float,
1325
+ last_seen: Float,
1326
+ metadata: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metadata,
1327
+ metrics: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::Metrics,
1328
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::RiskEvaluation?,
1329
+ status: ModerationAPI::Models::WebhookEvent::AuthorTrustLevelChanged::Data::Object::status,
1330
+ trust_level: ModerationAPI::WebhookEvent::AuthorTrustLevelChanged::Data::Object::TrustLevel,
1331
+ company: String?,
1332
+ email: String?,
1333
+ external_id: String?,
1334
+ external_link: String?,
1335
+ last_incident: Float?,
1336
+ name: String?,
1337
+ profile_picture: String?
1338
+ }
1339
+
1340
+ type block = { reason: String?, until_: Float? }
1341
+
1342
+ class Block < ModerationAPI::Internal::Type::BaseModel
1343
+ attr_accessor reason: String?
1344
+
1345
+ attr_accessor until_: Float?
1346
+
1347
+ def initialize: (?reason: String?, ?until_: Float?) -> void
1348
+
1349
+ def to_hash: -> { reason: String?, until_: Float? }
1350
+ end
1351
+
1352
+ type metadata =
1353
+ {
1354
+ email_verified: bool?,
1355
+ identity_verified: bool?,
1356
+ is_paying_customer: bool?,
1357
+ phone_verified: bool?
1358
+ }
1359
+
1360
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
1361
+ attr_accessor email_verified: bool?
1362
+
1363
+ attr_accessor identity_verified: bool?
1364
+
1365
+ attr_accessor is_paying_customer: bool?
1366
+
1367
+ attr_accessor phone_verified: bool?
1368
+
1369
+ def initialize: (
1370
+ ?email_verified: bool?,
1371
+ ?identity_verified: bool?,
1372
+ ?is_paying_customer: bool?,
1373
+ ?phone_verified: bool?
1374
+ ) -> void
1375
+
1376
+ def to_hash: -> {
1377
+ email_verified: bool?,
1378
+ identity_verified: bool?,
1379
+ is_paying_customer: bool?,
1380
+ phone_verified: bool?
1381
+ }
1382
+ end
1383
+
1384
+ type metrics =
1385
+ {
1386
+ flagged_content: Float,
1387
+ total_content: Float,
1388
+ average_sentiment: Float?
1389
+ }
1390
+
1391
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
1392
+ attr_accessor flagged_content: Float
1393
+
1394
+ attr_accessor total_content: Float
1395
+
1396
+ attr_accessor average_sentiment: Float?
1397
+
1398
+ def initialize: (
1399
+ flagged_content: Float,
1400
+ total_content: Float,
1401
+ ?average_sentiment: Float?
1402
+ ) -> void
1403
+
1404
+ def to_hash: -> {
1405
+ flagged_content: Float,
1406
+ total_content: Float,
1407
+ average_sentiment: Float?
1408
+ }
1409
+ end
1410
+
1411
+ type risk_evaluation = { risk_level: Float? }
1412
+
1413
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
1414
+ attr_accessor risk_level: Float?
1415
+
1416
+ def initialize: (?risk_level: Float?) -> void
1417
+
1418
+ def to_hash: -> { risk_level: Float? }
1419
+ end
1420
+
1421
+ type status = :enabled | :suspended | :blocked
1422
+
1423
+ module Status
1424
+ extend ModerationAPI::Internal::Type::Enum
1425
+
1426
+ ENABLED: :enabled
1427
+ SUSPENDED: :suspended
1428
+ BLOCKED: :blocked
1429
+
1430
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::AuthorTrustLevelChanged::Data::Object::status]
1431
+ end
1432
+
1433
+ type trust_level = { level: Float, manual: bool }
1434
+
1435
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
1436
+ attr_accessor level: Float
1437
+
1438
+ attr_accessor manual: bool
1439
+
1440
+ def initialize: (level: Float, manual: bool) -> void
1441
+
1442
+ def to_hash: -> { level: Float, manual: bool }
1443
+ end
1444
+ end
1445
+ end
1446
+ end
1447
+
1448
+ type author_action =
1449
+ {
1450
+ id: String,
1451
+ api_version: :v2,
1452
+ created: Time,
1453
+ data: ModerationAPI::WebhookEvent::AuthorAction::Data,
1454
+ type: :"author.action"
1455
+ }
1456
+
1457
+ class AuthorAction < ModerationAPI::Internal::Type::BaseModel
1458
+ attr_accessor id: String
1459
+
1460
+ attr_accessor api_version: :v2
1461
+
1462
+ attr_accessor created: Time
1463
+
1464
+ attr_accessor data: ModerationAPI::WebhookEvent::AuthorAction::Data
1465
+
1466
+ attr_accessor type: :"author.action"
1467
+
1468
+ def initialize: (
1469
+ id: String,
1470
+ created: Time,
1471
+ data: ModerationAPI::WebhookEvent::AuthorAction::Data,
1472
+ ?api_version: :v2,
1473
+ ?type: :"author.action"
1474
+ ) -> void
1475
+
1476
+ def to_hash: -> {
1477
+ id: String,
1478
+ api_version: :v2,
1479
+ created: Time,
1480
+ data: ModerationAPI::WebhookEvent::AuthorAction::Data,
1481
+ type: :"author.action"
1482
+ }
1483
+
1484
+ type data =
1485
+ { object: ModerationAPI::WebhookEvent::AuthorAction::Data::Object }
1486
+
1487
+ class Data < ModerationAPI::Internal::Type::BaseModel
1488
+ attr_accessor object: ModerationAPI::WebhookEvent::AuthorAction::Data::Object
1489
+
1490
+ def initialize: (
1491
+ object: ModerationAPI::WebhookEvent::AuthorAction::Data::Object
1492
+ ) -> void
1493
+
1494
+ def to_hash: -> {
1495
+ object: ModerationAPI::WebhookEvent::AuthorAction::Data::Object
1496
+ }
1497
+
1498
+ type object =
1499
+ {
1500
+ id: String,
1501
+ author: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author,
1502
+ created_at: Time,
1503
+ key: String?,
1504
+ name: String?,
1505
+ value: String?,
1506
+ queue: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Queue
1507
+ }
1508
+
1509
+ class Object < ModerationAPI::Internal::Type::BaseModel
1510
+ attr_accessor id: String
1511
+
1512
+ attr_accessor author: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author
1513
+
1514
+ attr_accessor created_at: Time
1515
+
1516
+ attr_accessor key: String?
1517
+
1518
+ attr_accessor name: String?
1519
+
1520
+ attr_accessor value: String?
1521
+
1522
+ attr_reader queue: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Queue?
1523
+
1524
+ def queue=: (
1525
+ ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Queue
1526
+ ) -> ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Queue
1527
+
1528
+ def initialize: (
1529
+ id: String,
1530
+ author: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author,
1531
+ created_at: Time,
1532
+ key: String?,
1533
+ name: String?,
1534
+ value: String?,
1535
+ ?queue: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Queue
1536
+ ) -> void
1537
+
1538
+ def to_hash: -> {
1539
+ id: String,
1540
+ author: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author,
1541
+ created_at: Time,
1542
+ key: String?,
1543
+ name: String?,
1544
+ value: String?,
1545
+ queue: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Queue
1546
+ }
1547
+
1548
+ type author =
1549
+ {
1550
+ id: String,
1551
+ block: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Block?,
1552
+ first_seen: Float,
1553
+ last_seen: Float,
1554
+ metadata: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metadata,
1555
+ metrics: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metrics,
1556
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::RiskEvaluation?,
1557
+ status: ModerationAPI::Models::WebhookEvent::AuthorAction::Data::Object::Author::status,
1558
+ trust_level: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::TrustLevel,
1559
+ company: String?,
1560
+ email: String?,
1561
+ external_id: String?,
1562
+ external_link: String?,
1563
+ last_incident: Float?,
1564
+ name: String?,
1565
+ profile_picture: String?
1566
+ }
1567
+
1568
+ class Author < ModerationAPI::Internal::Type::BaseModel
1569
+ attr_accessor id: String
1570
+
1571
+ attr_accessor block: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Block?
1572
+
1573
+ attr_accessor first_seen: Float
1574
+
1575
+ attr_accessor last_seen: Float
1576
+
1577
+ attr_accessor metadata: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metadata
1578
+
1579
+ attr_accessor metrics: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metrics
1580
+
1581
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::RiskEvaluation?
1582
+
1583
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::AuthorAction::Data::Object::Author::status
1584
+
1585
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::TrustLevel
1586
+
1587
+ attr_accessor company: String?
1588
+
1589
+ attr_accessor email: String?
1590
+
1591
+ attr_accessor external_id: String?
1592
+
1593
+ attr_accessor external_link: String?
1594
+
1595
+ attr_accessor last_incident: Float?
1596
+
1597
+ attr_accessor name: String?
1598
+
1599
+ attr_accessor profile_picture: String?
1600
+
1601
+ def initialize: (
1602
+ id: String,
1603
+ block: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Block?,
1604
+ first_seen: Float,
1605
+ last_seen: Float,
1606
+ metadata: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metadata,
1607
+ metrics: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metrics,
1608
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::RiskEvaluation?,
1609
+ status: ModerationAPI::Models::WebhookEvent::AuthorAction::Data::Object::Author::status,
1610
+ trust_level: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::TrustLevel,
1611
+ ?company: String?,
1612
+ ?email: String?,
1613
+ ?external_id: String?,
1614
+ ?external_link: String?,
1615
+ ?last_incident: Float?,
1616
+ ?name: String?,
1617
+ ?profile_picture: String?
1618
+ ) -> void
1619
+
1620
+ def to_hash: -> {
1621
+ id: String,
1622
+ block: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Block?,
1623
+ first_seen: Float,
1624
+ last_seen: Float,
1625
+ metadata: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metadata,
1626
+ metrics: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::Metrics,
1627
+ risk_evaluation: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::RiskEvaluation?,
1628
+ status: ModerationAPI::Models::WebhookEvent::AuthorAction::Data::Object::Author::status,
1629
+ trust_level: ModerationAPI::WebhookEvent::AuthorAction::Data::Object::Author::TrustLevel,
1630
+ company: String?,
1631
+ email: String?,
1632
+ external_id: String?,
1633
+ external_link: String?,
1634
+ last_incident: Float?,
1635
+ name: String?,
1636
+ profile_picture: String?
1637
+ }
1638
+
1639
+ type block = { reason: String?, until_: Float? }
1640
+
1641
+ class Block < ModerationAPI::Internal::Type::BaseModel
1642
+ attr_accessor reason: String?
1643
+
1644
+ attr_accessor until_: Float?
1645
+
1646
+ def initialize: (?reason: String?, ?until_: Float?) -> void
1647
+
1648
+ def to_hash: -> { reason: String?, until_: Float? }
1649
+ end
1650
+
1651
+ type metadata =
1652
+ {
1653
+ email_verified: bool?,
1654
+ identity_verified: bool?,
1655
+ is_paying_customer: bool?,
1656
+ phone_verified: bool?
1657
+ }
1658
+
1659
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
1660
+ attr_accessor email_verified: bool?
1661
+
1662
+ attr_accessor identity_verified: bool?
1663
+
1664
+ attr_accessor is_paying_customer: bool?
1665
+
1666
+ attr_accessor phone_verified: bool?
1667
+
1668
+ def initialize: (
1669
+ ?email_verified: bool?,
1670
+ ?identity_verified: bool?,
1671
+ ?is_paying_customer: bool?,
1672
+ ?phone_verified: bool?
1673
+ ) -> void
1674
+
1675
+ def to_hash: -> {
1676
+ email_verified: bool?,
1677
+ identity_verified: bool?,
1678
+ is_paying_customer: bool?,
1679
+ phone_verified: bool?
1680
+ }
1681
+ end
1682
+
1683
+ type metrics =
1684
+ {
1685
+ flagged_content: Float,
1686
+ total_content: Float,
1687
+ average_sentiment: Float?
1688
+ }
1689
+
1690
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
1691
+ attr_accessor flagged_content: Float
1692
+
1693
+ attr_accessor total_content: Float
1694
+
1695
+ attr_accessor average_sentiment: Float?
1696
+
1697
+ def initialize: (
1698
+ flagged_content: Float,
1699
+ total_content: Float,
1700
+ ?average_sentiment: Float?
1701
+ ) -> void
1702
+
1703
+ def to_hash: -> {
1704
+ flagged_content: Float,
1705
+ total_content: Float,
1706
+ average_sentiment: Float?
1707
+ }
1708
+ end
1709
+
1710
+ type risk_evaluation = { risk_level: Float? }
1711
+
1712
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
1713
+ attr_accessor risk_level: Float?
1714
+
1715
+ def initialize: (?risk_level: Float?) -> void
1716
+
1717
+ def to_hash: -> { risk_level: Float? }
1718
+ end
1719
+
1720
+ type status = :enabled | :suspended | :blocked
1721
+
1722
+ module Status
1723
+ extend ModerationAPI::Internal::Type::Enum
1724
+
1725
+ ENABLED: :enabled
1726
+ SUSPENDED: :suspended
1727
+ BLOCKED: :blocked
1728
+
1729
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::AuthorAction::Data::Object::Author::status]
1730
+ end
1731
+
1732
+ type trust_level = { level: Float, manual: bool }
1733
+
1734
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
1735
+ attr_accessor level: Float
1736
+
1737
+ attr_accessor manual: bool
1738
+
1739
+ def initialize: (level: Float, manual: bool) -> void
1740
+
1741
+ def to_hash: -> { level: Float, manual: bool }
1742
+ end
1743
+ end
1744
+
1745
+ type queue = { id: String }
1746
+
1747
+ class Queue < ModerationAPI::Internal::Type::BaseModel
1748
+ attr_accessor id: String
1749
+
1750
+ def initialize: (id: String) -> void
1751
+
1752
+ def to_hash: -> { id: String }
1753
+ end
1754
+ end
1755
+ end
1756
+ end
1757
+
1758
+ type queue_item_completed =
1759
+ {
1760
+ id: String,
1761
+ api_version: :v2,
1762
+ created: Time,
1763
+ data: ModerationAPI::WebhookEvent::QueueItemCompleted::Data,
1764
+ type: :"queue_item.completed"
1765
+ }
1766
+
1767
+ class QueueItemCompleted < ModerationAPI::Internal::Type::BaseModel
1768
+ attr_accessor id: String
1769
+
1770
+ attr_accessor api_version: :v2
1771
+
1772
+ attr_accessor created: Time
1773
+
1774
+ attr_accessor data: ModerationAPI::WebhookEvent::QueueItemCompleted::Data
1775
+
1776
+ attr_accessor type: :"queue_item.completed"
1777
+
1778
+ def initialize: (
1779
+ id: String,
1780
+ created: Time,
1781
+ data: ModerationAPI::WebhookEvent::QueueItemCompleted::Data,
1782
+ ?api_version: :v2,
1783
+ ?type: :"queue_item.completed"
1784
+ ) -> void
1785
+
1786
+ def to_hash: -> {
1787
+ id: String,
1788
+ api_version: :v2,
1789
+ created: Time,
1790
+ data: ModerationAPI::WebhookEvent::QueueItemCompleted::Data,
1791
+ type: :"queue_item.completed"
1792
+ }
1793
+
1794
+ type data =
1795
+ {
1796
+ object: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object
1797
+ }
1798
+
1799
+ class Data < ModerationAPI::Internal::Type::BaseModel
1800
+ attr_accessor object: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object
1801
+
1802
+ def initialize: (
1803
+ object: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object
1804
+ ) -> void
1805
+
1806
+ def to_hash: -> {
1807
+ object: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object
1808
+ }
1809
+
1810
+ type object =
1811
+ {
1812
+ item: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item,
1813
+ author: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author,
1814
+ queue: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Queue
1815
+ }
1816
+
1817
+ class Object < ModerationAPI::Internal::Type::BaseModel
1818
+ attr_accessor item: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item
1819
+
1820
+ attr_reader author: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author?
1821
+
1822
+ def author=: (
1823
+ ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author
1824
+ ) -> ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author
1825
+
1826
+ attr_reader queue: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Queue?
1827
+
1828
+ def queue=: (
1829
+ ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Queue
1830
+ ) -> ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Queue
1831
+
1832
+ def initialize: (
1833
+ item: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item,
1834
+ ?author: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author,
1835
+ ?queue: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Queue
1836
+ ) -> void
1837
+
1838
+ def to_hash: -> {
1839
+ item: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item,
1840
+ author: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author,
1841
+ queue: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Queue
1842
+ }
1843
+
1844
+ type item =
1845
+ {
1846
+ id: String,
1847
+ author_id: String?,
1848
+ channel_key: String?,
1849
+ content: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::content,
1850
+ conversation_id: String?,
1851
+ flagged: bool?,
1852
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label]?,
1853
+ language: String?,
1854
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::meta_type?,
1855
+ metadata: ::Hash[Symbol, top]?,
1856
+ timestamp: Time
1857
+ }
1858
+
1859
+ class Item < ModerationAPI::Internal::Type::BaseModel
1860
+ attr_accessor id: String
1861
+
1862
+ attr_accessor author_id: String?
1863
+
1864
+ attr_accessor channel_key: String?
1865
+
1866
+ attr_accessor content: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::content
1867
+
1868
+ attr_accessor conversation_id: String?
1869
+
1870
+ attr_accessor flagged: bool?
1871
+
1872
+ attr_accessor labels: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label]?
1873
+
1874
+ attr_accessor language: String?
1875
+
1876
+ attr_accessor meta_type: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::meta_type?
1877
+
1878
+ attr_accessor metadata: ::Hash[Symbol, top]?
1879
+
1880
+ attr_accessor timestamp: Time
1881
+
1882
+ def initialize: (
1883
+ id: String,
1884
+ author_id: String?,
1885
+ channel_key: String?,
1886
+ content: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::content,
1887
+ conversation_id: String?,
1888
+ flagged: bool?,
1889
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label]?,
1890
+ language: String?,
1891
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::meta_type?,
1892
+ metadata: ::Hash[Symbol, top]?,
1893
+ timestamp: Time
1894
+ ) -> void
1895
+
1896
+ def to_hash: -> {
1897
+ id: String,
1898
+ author_id: String?,
1899
+ channel_key: String?,
1900
+ content: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::content,
1901
+ conversation_id: String?,
1902
+ flagged: bool?,
1903
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label]?,
1904
+ language: String?,
1905
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::meta_type?,
1906
+ metadata: ::Hash[Symbol, top]?,
1907
+ timestamp: Time
1908
+ }
1909
+
1910
+ type content =
1911
+ ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Text
1912
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Image
1913
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Video
1914
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Audio
1915
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object
1916
+
1917
+ module Content
1918
+ extend ModerationAPI::Internal::Type::Union
1919
+
1920
+ type text = { text: String, type: :text }
1921
+
1922
+ class Text < ModerationAPI::Internal::Type::BaseModel
1923
+ attr_accessor text: String
1924
+
1925
+ attr_accessor type: :text
1926
+
1927
+ def initialize: (text: String, ?type: :text) -> void
1928
+
1929
+ def to_hash: -> { text: String, type: :text }
1930
+ end
1931
+
1932
+ type image = { type: :image, data: String, url: String }
1933
+
1934
+ class Image < ModerationAPI::Internal::Type::BaseModel
1935
+ attr_accessor type: :image
1936
+
1937
+ attr_reader data: String?
1938
+
1939
+ def data=: (String) -> String
1940
+
1941
+ attr_reader url: String?
1942
+
1943
+ def url=: (String) -> String
1944
+
1945
+ def initialize: (
1946
+ ?data: String,
1947
+ ?url: String,
1948
+ ?type: :image
1949
+ ) -> void
1950
+
1951
+ def to_hash: -> { type: :image, data: String, url: String }
1952
+ end
1953
+
1954
+ type video = { type: :video, url: String }
1955
+
1956
+ class Video < ModerationAPI::Internal::Type::BaseModel
1957
+ attr_accessor type: :video
1958
+
1959
+ attr_accessor url: String
1960
+
1961
+ def initialize: (url: String, ?type: :video) -> void
1962
+
1963
+ def to_hash: -> { type: :video, url: String }
1964
+ end
1965
+
1966
+ type audio = { type: :audio, url: String }
1967
+
1968
+ class Audio < ModerationAPI::Internal::Type::BaseModel
1969
+ attr_accessor type: :audio
1970
+
1971
+ attr_accessor url: String
1972
+
1973
+ def initialize: (url: String, ?type: :audio) -> void
1974
+
1975
+ def to_hash: -> { type: :audio, url: String }
1976
+ end
1977
+
1978
+ type object =
1979
+ {
1980
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::data],
1981
+ type: :object
1982
+ }
1983
+
1984
+ class Object < ModerationAPI::Internal::Type::BaseModel
1985
+ attr_accessor data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::data]
1986
+
1987
+ attr_accessor type: :object
1988
+
1989
+ def initialize: (
1990
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::data],
1991
+ ?type: :object
1992
+ ) -> void
1993
+
1994
+ def to_hash: -> {
1995
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::data],
1996
+ type: :object
1997
+ }
1998
+
1999
+ type data =
2000
+ ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::Data::Text
2001
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::Data::Image
2002
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::Data::Video
2003
+ | ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::Data::Audio
2004
+
2005
+ module Data
2006
+ extend ModerationAPI::Internal::Type::Union
2007
+
2008
+ type text = { text: String, type: :text }
2009
+
2010
+ class Text < ModerationAPI::Internal::Type::BaseModel
2011
+ attr_accessor text: String
2012
+
2013
+ attr_accessor type: :text
2014
+
2015
+ def initialize: (text: String, ?type: :text) -> void
2016
+
2017
+ def to_hash: -> { text: String, type: :text }
2018
+ end
2019
+
2020
+ type image = { type: :image, data: String, url: String }
2021
+
2022
+ class Image < ModerationAPI::Internal::Type::BaseModel
2023
+ attr_accessor type: :image
2024
+
2025
+ attr_reader data: String?
2026
+
2027
+ def data=: (String) -> String
2028
+
2029
+ attr_reader url: String?
2030
+
2031
+ def url=: (String) -> String
2032
+
2033
+ def initialize: (
2034
+ ?data: String,
2035
+ ?url: String,
2036
+ ?type: :image
2037
+ ) -> void
2038
+
2039
+ def to_hash: -> {
2040
+ type: :image,
2041
+ data: String,
2042
+ url: String
2043
+ }
2044
+ end
2045
+
2046
+ type video = { type: :video, url: String }
2047
+
2048
+ class Video < ModerationAPI::Internal::Type::BaseModel
2049
+ attr_accessor type: :video
2050
+
2051
+ attr_accessor url: String
2052
+
2053
+ def initialize: (url: String, ?type: :video) -> void
2054
+
2055
+ def to_hash: -> { type: :video, url: String }
2056
+ end
2057
+
2058
+ type audio = { type: :audio, url: String }
2059
+
2060
+ class Audio < ModerationAPI::Internal::Type::BaseModel
2061
+ attr_accessor type: :audio
2062
+
2063
+ attr_accessor url: String
2064
+
2065
+ def initialize: (url: String, ?type: :audio) -> void
2066
+
2067
+ def to_hash: -> { type: :audio, url: String }
2068
+ end
2069
+
2070
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::Content::Object::data]
2071
+ end
2072
+ end
2073
+
2074
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::content]
2075
+ end
2076
+
2077
+ type label =
2078
+ {
2079
+ label: String,
2080
+ score: Float,
2081
+ flagged: bool,
2082
+ manual: bool,
2083
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match]
2084
+ }
2085
+
2086
+ class Label < ModerationAPI::Internal::Type::BaseModel
2087
+ attr_accessor label: String
2088
+
2089
+ attr_accessor score: Float
2090
+
2091
+ attr_reader flagged: bool?
2092
+
2093
+ def flagged=: (bool) -> bool
2094
+
2095
+ attr_reader manual: bool?
2096
+
2097
+ def manual=: (bool) -> bool
2098
+
2099
+ attr_reader matches: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match]?
2100
+
2101
+ def matches=: (
2102
+ ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match]
2103
+ ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match]
2104
+
2105
+ def initialize: (
2106
+ label: String,
2107
+ score: Float,
2108
+ ?flagged: bool,
2109
+ ?manual: bool,
2110
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match]
2111
+ ) -> void
2112
+
2113
+ def to_hash: -> {
2114
+ label: String,
2115
+ score: Float,
2116
+ flagged: bool,
2117
+ manual: bool,
2118
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match]
2119
+ }
2120
+
2121
+ type match =
2122
+ {
2123
+ match: String,
2124
+ probability: Float,
2125
+ span: ::Array[top],
2126
+ entity_type: String,
2127
+ mask: String?,
2128
+ reasons: ::Array[String],
2129
+ signals: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals
2130
+ }
2131
+
2132
+ class Match < ModerationAPI::Internal::Type::BaseModel
2133
+ attr_accessor match: String
2134
+
2135
+ attr_accessor probability: Float
2136
+
2137
+ attr_accessor span: ::Array[top]
2138
+
2139
+ attr_reader entity_type: String?
2140
+
2141
+ def entity_type=: (String) -> String
2142
+
2143
+ attr_accessor mask: String?
2144
+
2145
+ attr_reader reasons: ::Array[String]?
2146
+
2147
+ def reasons=: (::Array[String]) -> ::Array[String]
2148
+
2149
+ attr_reader signals: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals?
2150
+
2151
+ def signals=: (
2152
+ ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals
2153
+ ) -> ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals
2154
+
2155
+ def initialize: (
2156
+ match: String,
2157
+ probability: Float,
2158
+ span: ::Array[top],
2159
+ ?entity_type: String,
2160
+ ?mask: String?,
2161
+ ?reasons: ::Array[String],
2162
+ ?signals: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals
2163
+ ) -> void
2164
+
2165
+ def to_hash: -> {
2166
+ match: String,
2167
+ probability: Float,
2168
+ span: ::Array[top],
2169
+ entity_type: String,
2170
+ mask: String?,
2171
+ reasons: ::Array[String],
2172
+ signals: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals
2173
+ }
2174
+
2175
+ type signals =
2176
+ {
2177
+ bot_protection: bool?,
2178
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
2179
+ domain_age_days: Float?,
2180
+ final_url: String?,
2181
+ has_email_setup: bool?,
2182
+ has_suspicious_characters: bool,
2183
+ is_link_shortener: bool,
2184
+ is_reported: bool,
2185
+ redirect_count: Float?
2186
+ }
2187
+
2188
+ class Signals < ModerationAPI::Internal::Type::BaseModel
2189
+ attr_accessor bot_protection: bool?
2190
+
2191
+ attr_accessor brand_impersonation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals::BrandImpersonation?
2192
+
2193
+ attr_accessor domain_age_days: Float?
2194
+
2195
+ attr_accessor final_url: String?
2196
+
2197
+ attr_accessor has_email_setup: bool?
2198
+
2199
+ attr_accessor has_suspicious_characters: bool
2200
+
2201
+ attr_accessor is_link_shortener: bool
2202
+
2203
+ attr_accessor is_reported: bool
2204
+
2205
+ attr_accessor redirect_count: Float?
2206
+
2207
+ def initialize: (
2208
+ bot_protection: bool?,
2209
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
2210
+ domain_age_days: Float?,
2211
+ final_url: String?,
2212
+ has_email_setup: bool?,
2213
+ has_suspicious_characters: bool,
2214
+ is_link_shortener: bool,
2215
+ is_reported: bool,
2216
+ redirect_count: Float?
2217
+ ) -> void
2218
+
2219
+ def to_hash: -> {
2220
+ bot_protection: bool?,
2221
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
2222
+ domain_age_days: Float?,
2223
+ final_url: String?,
2224
+ has_email_setup: bool?,
2225
+ has_suspicious_characters: bool,
2226
+ is_link_shortener: bool,
2227
+ is_reported: bool,
2228
+ redirect_count: Float?
2229
+ }
2230
+
2231
+ type brand_impersonation =
2232
+ { brand: String, method_: String }
2233
+
2234
+ class BrandImpersonation < ModerationAPI::Internal::Type::BaseModel
2235
+ attr_accessor brand: String
2236
+
2237
+ attr_accessor method_: String
2238
+
2239
+ def initialize: (brand: String, method_: String) -> void
2240
+
2241
+ def to_hash: -> { brand: String, method_: String }
2242
+ end
2243
+ end
2244
+ end
2245
+ end
2246
+
2247
+ type meta_type =
2248
+ :profile
2249
+ | :message
2250
+ | :post
2251
+ | :comment
2252
+ | :event
2253
+ | :product
2254
+ | :review
2255
+ | :other
2256
+
2257
+ module MetaType
2258
+ extend ModerationAPI::Internal::Type::Enum
2259
+
2260
+ PROFILE: :profile
2261
+ MESSAGE: :message
2262
+ POST: :post
2263
+ COMMENT: :comment
2264
+ EVENT: :event
2265
+ PRODUCT: :product
2266
+ REVIEW: :review
2267
+ OTHER: :other
2268
+
2269
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Item::meta_type]
2270
+ end
2271
+ end
2272
+
2273
+ type author =
2274
+ {
2275
+ id: String,
2276
+ block: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Block?,
2277
+ first_seen: Float,
2278
+ last_seen: Float,
2279
+ metadata: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metadata,
2280
+ metrics: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metrics,
2281
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::RiskEvaluation?,
2282
+ status: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Author::status,
2283
+ trust_level: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::TrustLevel,
2284
+ company: String?,
2285
+ email: String?,
2286
+ external_id: String?,
2287
+ external_link: String?,
2288
+ last_incident: Float?,
2289
+ name: String?,
2290
+ profile_picture: String?
2291
+ }
2292
+
2293
+ class Author < ModerationAPI::Internal::Type::BaseModel
2294
+ attr_accessor id: String
2295
+
2296
+ attr_accessor block: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Block?
2297
+
2298
+ attr_accessor first_seen: Float
2299
+
2300
+ attr_accessor last_seen: Float
2301
+
2302
+ attr_accessor metadata: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metadata
2303
+
2304
+ attr_accessor metrics: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metrics
2305
+
2306
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::RiskEvaluation?
2307
+
2308
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Author::status
2309
+
2310
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::TrustLevel
2311
+
2312
+ attr_accessor company: String?
2313
+
2314
+ attr_accessor email: String?
2315
+
2316
+ attr_accessor external_id: String?
2317
+
2318
+ attr_accessor external_link: String?
2319
+
2320
+ attr_accessor last_incident: Float?
2321
+
2322
+ attr_accessor name: String?
2323
+
2324
+ attr_accessor profile_picture: String?
2325
+
2326
+ def initialize: (
2327
+ id: String,
2328
+ block: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Block?,
2329
+ first_seen: Float,
2330
+ last_seen: Float,
2331
+ metadata: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metadata,
2332
+ metrics: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metrics,
2333
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::RiskEvaluation?,
2334
+ status: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Author::status,
2335
+ trust_level: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::TrustLevel,
2336
+ ?company: String?,
2337
+ ?email: String?,
2338
+ ?external_id: String?,
2339
+ ?external_link: String?,
2340
+ ?last_incident: Float?,
2341
+ ?name: String?,
2342
+ ?profile_picture: String?
2343
+ ) -> void
2344
+
2345
+ def to_hash: -> {
2346
+ id: String,
2347
+ block: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Block?,
2348
+ first_seen: Float,
2349
+ last_seen: Float,
2350
+ metadata: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metadata,
2351
+ metrics: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::Metrics,
2352
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::RiskEvaluation?,
2353
+ status: ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Author::status,
2354
+ trust_level: ModerationAPI::WebhookEvent::QueueItemCompleted::Data::Object::Author::TrustLevel,
2355
+ company: String?,
2356
+ email: String?,
2357
+ external_id: String?,
2358
+ external_link: String?,
2359
+ last_incident: Float?,
2360
+ name: String?,
2361
+ profile_picture: String?
2362
+ }
2363
+
2364
+ type block = { reason: String?, until_: Float? }
2365
+
2366
+ class Block < ModerationAPI::Internal::Type::BaseModel
2367
+ attr_accessor reason: String?
2368
+
2369
+ attr_accessor until_: Float?
2370
+
2371
+ def initialize: (?reason: String?, ?until_: Float?) -> void
2372
+
2373
+ def to_hash: -> { reason: String?, until_: Float? }
2374
+ end
2375
+
2376
+ type metadata =
2377
+ {
2378
+ email_verified: bool?,
2379
+ identity_verified: bool?,
2380
+ is_paying_customer: bool?,
2381
+ phone_verified: bool?
2382
+ }
2383
+
2384
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
2385
+ attr_accessor email_verified: bool?
2386
+
2387
+ attr_accessor identity_verified: bool?
2388
+
2389
+ attr_accessor is_paying_customer: bool?
2390
+
2391
+ attr_accessor phone_verified: bool?
2392
+
2393
+ def initialize: (
2394
+ ?email_verified: bool?,
2395
+ ?identity_verified: bool?,
2396
+ ?is_paying_customer: bool?,
2397
+ ?phone_verified: bool?
2398
+ ) -> void
2399
+
2400
+ def to_hash: -> {
2401
+ email_verified: bool?,
2402
+ identity_verified: bool?,
2403
+ is_paying_customer: bool?,
2404
+ phone_verified: bool?
2405
+ }
2406
+ end
2407
+
2408
+ type metrics =
2409
+ {
2410
+ flagged_content: Float,
2411
+ total_content: Float,
2412
+ average_sentiment: Float?
2413
+ }
2414
+
2415
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
2416
+ attr_accessor flagged_content: Float
2417
+
2418
+ attr_accessor total_content: Float
2419
+
2420
+ attr_accessor average_sentiment: Float?
2421
+
2422
+ def initialize: (
2423
+ flagged_content: Float,
2424
+ total_content: Float,
2425
+ ?average_sentiment: Float?
2426
+ ) -> void
2427
+
2428
+ def to_hash: -> {
2429
+ flagged_content: Float,
2430
+ total_content: Float,
2431
+ average_sentiment: Float?
2432
+ }
2433
+ end
2434
+
2435
+ type risk_evaluation = { risk_level: Float? }
2436
+
2437
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
2438
+ attr_accessor risk_level: Float?
2439
+
2440
+ def initialize: (?risk_level: Float?) -> void
2441
+
2442
+ def to_hash: -> { risk_level: Float? }
2443
+ end
2444
+
2445
+ type status = :enabled | :suspended | :blocked
2446
+
2447
+ module Status
2448
+ extend ModerationAPI::Internal::Type::Enum
2449
+
2450
+ ENABLED: :enabled
2451
+ SUSPENDED: :suspended
2452
+ BLOCKED: :blocked
2453
+
2454
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemCompleted::Data::Object::Author::status]
2455
+ end
2456
+
2457
+ type trust_level = { level: Float, manual: bool }
2458
+
2459
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
2460
+ attr_accessor level: Float
2461
+
2462
+ attr_accessor manual: bool
2463
+
2464
+ def initialize: (level: Float, manual: bool) -> void
2465
+
2466
+ def to_hash: -> { level: Float, manual: bool }
2467
+ end
2468
+ end
2469
+
2470
+ type queue = { id: String }
2471
+
2472
+ class Queue < ModerationAPI::Internal::Type::BaseModel
2473
+ attr_accessor id: String
2474
+
2475
+ def initialize: (id: String) -> void
2476
+
2477
+ def to_hash: -> { id: String }
2478
+ end
2479
+ end
2480
+ end
2481
+ end
2482
+
2483
+ type queue_item_action =
2484
+ {
2485
+ id: String,
2486
+ api_version: :v2,
2487
+ created: Time,
2488
+ data: ModerationAPI::WebhookEvent::QueueItemAction::Data,
2489
+ type: :"queue_item.action"
2490
+ }
2491
+
2492
+ class QueueItemAction < ModerationAPI::Internal::Type::BaseModel
2493
+ attr_accessor id: String
2494
+
2495
+ attr_accessor api_version: :v2
2496
+
2497
+ attr_accessor created: Time
2498
+
2499
+ attr_accessor data: ModerationAPI::WebhookEvent::QueueItemAction::Data
2500
+
2501
+ attr_accessor type: :"queue_item.action"
2502
+
2503
+ def initialize: (
2504
+ id: String,
2505
+ created: Time,
2506
+ data: ModerationAPI::WebhookEvent::QueueItemAction::Data,
2507
+ ?api_version: :v2,
2508
+ ?type: :"queue_item.action"
2509
+ ) -> void
2510
+
2511
+ def to_hash: -> {
2512
+ id: String,
2513
+ api_version: :v2,
2514
+ created: Time,
2515
+ data: ModerationAPI::WebhookEvent::QueueItemAction::Data,
2516
+ type: :"queue_item.action"
2517
+ }
2518
+
2519
+ type data =
2520
+ { object: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object }
2521
+
2522
+ class Data < ModerationAPI::Internal::Type::BaseModel
2523
+ attr_accessor object: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object
2524
+
2525
+ def initialize: (
2526
+ object: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object
2527
+ ) -> void
2528
+
2529
+ def to_hash: -> {
2530
+ object: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object
2531
+ }
2532
+
2533
+ type object =
2534
+ {
2535
+ id: String,
2536
+ created_at: Time,
2537
+ key: String?,
2538
+ name: String?,
2539
+ value: String?,
2540
+ author: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author,
2541
+ item: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item,
2542
+ queue: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Queue
2543
+ }
2544
+
2545
+ class Object < ModerationAPI::Internal::Type::BaseModel
2546
+ attr_accessor id: String
2547
+
2548
+ attr_accessor created_at: Time
2549
+
2550
+ attr_accessor key: String?
2551
+
2552
+ attr_accessor name: String?
2553
+
2554
+ attr_accessor value: String?
2555
+
2556
+ attr_reader author: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author?
2557
+
2558
+ def author=: (
2559
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author
2560
+ ) -> ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author
2561
+
2562
+ attr_reader item: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item?
2563
+
2564
+ def item=: (
2565
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item
2566
+ ) -> ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item
2567
+
2568
+ attr_reader queue: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Queue?
2569
+
2570
+ def queue=: (
2571
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Queue
2572
+ ) -> ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Queue
2573
+
2574
+ def initialize: (
2575
+ id: String,
2576
+ created_at: Time,
2577
+ key: String?,
2578
+ name: String?,
2579
+ value: String?,
2580
+ ?author: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author,
2581
+ ?item: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item,
2582
+ ?queue: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Queue
2583
+ ) -> void
2584
+
2585
+ def to_hash: -> {
2586
+ id: String,
2587
+ created_at: Time,
2588
+ key: String?,
2589
+ name: String?,
2590
+ value: String?,
2591
+ author: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author,
2592
+ item: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item,
2593
+ queue: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Queue
2594
+ }
2595
+
2596
+ type author =
2597
+ {
2598
+ id: String,
2599
+ block: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Block?,
2600
+ first_seen: Float,
2601
+ last_seen: Float,
2602
+ metadata: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metadata,
2603
+ metrics: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metrics,
2604
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::RiskEvaluation?,
2605
+ status: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Author::status,
2606
+ trust_level: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::TrustLevel,
2607
+ company: String?,
2608
+ email: String?,
2609
+ external_id: String?,
2610
+ external_link: String?,
2611
+ last_incident: Float?,
2612
+ name: String?,
2613
+ profile_picture: String?
2614
+ }
2615
+
2616
+ class Author < ModerationAPI::Internal::Type::BaseModel
2617
+ attr_accessor id: String
2618
+
2619
+ attr_accessor block: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Block?
2620
+
2621
+ attr_accessor first_seen: Float
2622
+
2623
+ attr_accessor last_seen: Float
2624
+
2625
+ attr_accessor metadata: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metadata
2626
+
2627
+ attr_accessor metrics: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metrics
2628
+
2629
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::RiskEvaluation?
2630
+
2631
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Author::status
2632
+
2633
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::TrustLevel
2634
+
2635
+ attr_accessor company: String?
2636
+
2637
+ attr_accessor email: String?
2638
+
2639
+ attr_accessor external_id: String?
2640
+
2641
+ attr_accessor external_link: String?
2642
+
2643
+ attr_accessor last_incident: Float?
2644
+
2645
+ attr_accessor name: String?
2646
+
2647
+ attr_accessor profile_picture: String?
2648
+
2649
+ def initialize: (
2650
+ id: String,
2651
+ block: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Block?,
2652
+ first_seen: Float,
2653
+ last_seen: Float,
2654
+ metadata: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metadata,
2655
+ metrics: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metrics,
2656
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::RiskEvaluation?,
2657
+ status: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Author::status,
2658
+ trust_level: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::TrustLevel,
2659
+ ?company: String?,
2660
+ ?email: String?,
2661
+ ?external_id: String?,
2662
+ ?external_link: String?,
2663
+ ?last_incident: Float?,
2664
+ ?name: String?,
2665
+ ?profile_picture: String?
2666
+ ) -> void
2667
+
2668
+ def to_hash: -> {
2669
+ id: String,
2670
+ block: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Block?,
2671
+ first_seen: Float,
2672
+ last_seen: Float,
2673
+ metadata: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metadata,
2674
+ metrics: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::Metrics,
2675
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::RiskEvaluation?,
2676
+ status: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Author::status,
2677
+ trust_level: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Author::TrustLevel,
2678
+ company: String?,
2679
+ email: String?,
2680
+ external_id: String?,
2681
+ external_link: String?,
2682
+ last_incident: Float?,
2683
+ name: String?,
2684
+ profile_picture: String?
2685
+ }
2686
+
2687
+ type block = { reason: String?, until_: Float? }
2688
+
2689
+ class Block < ModerationAPI::Internal::Type::BaseModel
2690
+ attr_accessor reason: String?
2691
+
2692
+ attr_accessor until_: Float?
2693
+
2694
+ def initialize: (?reason: String?, ?until_: Float?) -> void
2695
+
2696
+ def to_hash: -> { reason: String?, until_: Float? }
2697
+ end
2698
+
2699
+ type metadata =
2700
+ {
2701
+ email_verified: bool?,
2702
+ identity_verified: bool?,
2703
+ is_paying_customer: bool?,
2704
+ phone_verified: bool?
2705
+ }
2706
+
2707
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
2708
+ attr_accessor email_verified: bool?
2709
+
2710
+ attr_accessor identity_verified: bool?
2711
+
2712
+ attr_accessor is_paying_customer: bool?
2713
+
2714
+ attr_accessor phone_verified: bool?
2715
+
2716
+ def initialize: (
2717
+ ?email_verified: bool?,
2718
+ ?identity_verified: bool?,
2719
+ ?is_paying_customer: bool?,
2720
+ ?phone_verified: bool?
2721
+ ) -> void
2722
+
2723
+ def to_hash: -> {
2724
+ email_verified: bool?,
2725
+ identity_verified: bool?,
2726
+ is_paying_customer: bool?,
2727
+ phone_verified: bool?
2728
+ }
2729
+ end
2730
+
2731
+ type metrics =
2732
+ {
2733
+ flagged_content: Float,
2734
+ total_content: Float,
2735
+ average_sentiment: Float?
2736
+ }
2737
+
2738
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
2739
+ attr_accessor flagged_content: Float
2740
+
2741
+ attr_accessor total_content: Float
2742
+
2743
+ attr_accessor average_sentiment: Float?
2744
+
2745
+ def initialize: (
2746
+ flagged_content: Float,
2747
+ total_content: Float,
2748
+ ?average_sentiment: Float?
2749
+ ) -> void
2750
+
2751
+ def to_hash: -> {
2752
+ flagged_content: Float,
2753
+ total_content: Float,
2754
+ average_sentiment: Float?
2755
+ }
2756
+ end
2757
+
2758
+ type risk_evaluation = { risk_level: Float? }
2759
+
2760
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
2761
+ attr_accessor risk_level: Float?
2762
+
2763
+ def initialize: (?risk_level: Float?) -> void
2764
+
2765
+ def to_hash: -> { risk_level: Float? }
2766
+ end
2767
+
2768
+ type status = :enabled | :suspended | :blocked
2769
+
2770
+ module Status
2771
+ extend ModerationAPI::Internal::Type::Enum
2772
+
2773
+ ENABLED: :enabled
2774
+ SUSPENDED: :suspended
2775
+ BLOCKED: :blocked
2776
+
2777
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Author::status]
2778
+ end
2779
+
2780
+ type trust_level = { level: Float, manual: bool }
2781
+
2782
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
2783
+ attr_accessor level: Float
2784
+
2785
+ attr_accessor manual: bool
2786
+
2787
+ def initialize: (level: Float, manual: bool) -> void
2788
+
2789
+ def to_hash: -> { level: Float, manual: bool }
2790
+ end
2791
+ end
2792
+
2793
+ type item =
2794
+ {
2795
+ id: String,
2796
+ author_id: String?,
2797
+ channel_key: String?,
2798
+ content: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::content,
2799
+ conversation_id: String?,
2800
+ flagged: bool?,
2801
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label]?,
2802
+ language: String?,
2803
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::meta_type?,
2804
+ metadata: ::Hash[Symbol, top]?,
2805
+ timestamp: Time
2806
+ }
2807
+
2808
+ class Item < ModerationAPI::Internal::Type::BaseModel
2809
+ attr_accessor id: String
2810
+
2811
+ attr_accessor author_id: String?
2812
+
2813
+ attr_accessor channel_key: String?
2814
+
2815
+ attr_accessor content: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::content
2816
+
2817
+ attr_accessor conversation_id: String?
2818
+
2819
+ attr_accessor flagged: bool?
2820
+
2821
+ attr_accessor labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label]?
2822
+
2823
+ attr_accessor language: String?
2824
+
2825
+ attr_accessor meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::meta_type?
2826
+
2827
+ attr_accessor metadata: ::Hash[Symbol, top]?
2828
+
2829
+ attr_accessor timestamp: Time
2830
+
2831
+ def initialize: (
2832
+ id: String,
2833
+ author_id: String?,
2834
+ channel_key: String?,
2835
+ content: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::content,
2836
+ conversation_id: String?,
2837
+ flagged: bool?,
2838
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label]?,
2839
+ language: String?,
2840
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::meta_type?,
2841
+ metadata: ::Hash[Symbol, top]?,
2842
+ timestamp: Time
2843
+ ) -> void
2844
+
2845
+ def to_hash: -> {
2846
+ id: String,
2847
+ author_id: String?,
2848
+ channel_key: String?,
2849
+ content: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::content,
2850
+ conversation_id: String?,
2851
+ flagged: bool?,
2852
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label]?,
2853
+ language: String?,
2854
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::meta_type?,
2855
+ metadata: ::Hash[Symbol, top]?,
2856
+ timestamp: Time
2857
+ }
2858
+
2859
+ type content =
2860
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Text
2861
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Image
2862
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Video
2863
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Audio
2864
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object
2865
+
2866
+ module Content
2867
+ extend ModerationAPI::Internal::Type::Union
2868
+
2869
+ type text = { text: String, type: :text }
2870
+
2871
+ class Text < ModerationAPI::Internal::Type::BaseModel
2872
+ attr_accessor text: String
2873
+
2874
+ attr_accessor type: :text
2875
+
2876
+ def initialize: (text: String, ?type: :text) -> void
2877
+
2878
+ def to_hash: -> { text: String, type: :text }
2879
+ end
2880
+
2881
+ type image = { type: :image, data: String, url: String }
2882
+
2883
+ class Image < ModerationAPI::Internal::Type::BaseModel
2884
+ attr_accessor type: :image
2885
+
2886
+ attr_reader data: String?
2887
+
2888
+ def data=: (String) -> String
2889
+
2890
+ attr_reader url: String?
2891
+
2892
+ def url=: (String) -> String
2893
+
2894
+ def initialize: (
2895
+ ?data: String,
2896
+ ?url: String,
2897
+ ?type: :image
2898
+ ) -> void
2899
+
2900
+ def to_hash: -> { type: :image, data: String, url: String }
2901
+ end
2902
+
2903
+ type video = { type: :video, url: String }
2904
+
2905
+ class Video < ModerationAPI::Internal::Type::BaseModel
2906
+ attr_accessor type: :video
2907
+
2908
+ attr_accessor url: String
2909
+
2910
+ def initialize: (url: String, ?type: :video) -> void
2911
+
2912
+ def to_hash: -> { type: :video, url: String }
2913
+ end
2914
+
2915
+ type audio = { type: :audio, url: String }
2916
+
2917
+ class Audio < ModerationAPI::Internal::Type::BaseModel
2918
+ attr_accessor type: :audio
2919
+
2920
+ attr_accessor url: String
2921
+
2922
+ def initialize: (url: String, ?type: :audio) -> void
2923
+
2924
+ def to_hash: -> { type: :audio, url: String }
2925
+ end
2926
+
2927
+ type object =
2928
+ {
2929
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::data],
2930
+ type: :object
2931
+ }
2932
+
2933
+ class Object < ModerationAPI::Internal::Type::BaseModel
2934
+ attr_accessor data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::data]
2935
+
2936
+ attr_accessor type: :object
2937
+
2938
+ def initialize: (
2939
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::data],
2940
+ ?type: :object
2941
+ ) -> void
2942
+
2943
+ def to_hash: -> {
2944
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::data],
2945
+ type: :object
2946
+ }
2947
+
2948
+ type data =
2949
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::Data::Text
2950
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::Data::Image
2951
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::Data::Video
2952
+ | ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::Data::Audio
2953
+
2954
+ module Data
2955
+ extend ModerationAPI::Internal::Type::Union
2956
+
2957
+ type text = { text: String, type: :text }
2958
+
2959
+ class Text < ModerationAPI::Internal::Type::BaseModel
2960
+ attr_accessor text: String
2961
+
2962
+ attr_accessor type: :text
2963
+
2964
+ def initialize: (text: String, ?type: :text) -> void
2965
+
2966
+ def to_hash: -> { text: String, type: :text }
2967
+ end
2968
+
2969
+ type image = { type: :image, data: String, url: String }
2970
+
2971
+ class Image < ModerationAPI::Internal::Type::BaseModel
2972
+ attr_accessor type: :image
2973
+
2974
+ attr_reader data: String?
2975
+
2976
+ def data=: (String) -> String
2977
+
2978
+ attr_reader url: String?
2979
+
2980
+ def url=: (String) -> String
2981
+
2982
+ def initialize: (
2983
+ ?data: String,
2984
+ ?url: String,
2985
+ ?type: :image
2986
+ ) -> void
2987
+
2988
+ def to_hash: -> {
2989
+ type: :image,
2990
+ data: String,
2991
+ url: String
2992
+ }
2993
+ end
2994
+
2995
+ type video = { type: :video, url: String }
2996
+
2997
+ class Video < ModerationAPI::Internal::Type::BaseModel
2998
+ attr_accessor type: :video
2999
+
3000
+ attr_accessor url: String
3001
+
3002
+ def initialize: (url: String, ?type: :video) -> void
3003
+
3004
+ def to_hash: -> { type: :video, url: String }
3005
+ end
3006
+
3007
+ type audio = { type: :audio, url: String }
3008
+
3009
+ class Audio < ModerationAPI::Internal::Type::BaseModel
3010
+ attr_accessor type: :audio
3011
+
3012
+ attr_accessor url: String
3013
+
3014
+ def initialize: (url: String, ?type: :audio) -> void
3015
+
3016
+ def to_hash: -> { type: :audio, url: String }
3017
+ end
3018
+
3019
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::Content::Object::data]
3020
+ end
3021
+ end
3022
+
3023
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::content]
3024
+ end
3025
+
3026
+ type label =
3027
+ {
3028
+ label: String,
3029
+ score: Float,
3030
+ flagged: bool,
3031
+ manual: bool,
3032
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3033
+ }
3034
+
3035
+ class Label < ModerationAPI::Internal::Type::BaseModel
3036
+ attr_accessor label: String
3037
+
3038
+ attr_accessor score: Float
3039
+
3040
+ attr_reader flagged: bool?
3041
+
3042
+ def flagged=: (bool) -> bool
3043
+
3044
+ attr_reader manual: bool?
3045
+
3046
+ def manual=: (bool) -> bool
3047
+
3048
+ attr_reader matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]?
3049
+
3050
+ def matches=: (
3051
+ ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3052
+ ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3053
+
3054
+ def initialize: (
3055
+ label: String,
3056
+ score: Float,
3057
+ ?flagged: bool,
3058
+ ?manual: bool,
3059
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3060
+ ) -> void
3061
+
3062
+ def to_hash: -> {
3063
+ label: String,
3064
+ score: Float,
3065
+ flagged: bool,
3066
+ manual: bool,
3067
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match]
3068
+ }
3069
+
3070
+ type match =
3071
+ {
3072
+ match: String,
3073
+ probability: Float,
3074
+ span: ::Array[top],
3075
+ entity_type: String,
3076
+ mask: String?,
3077
+ reasons: ::Array[String],
3078
+ signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3079
+ }
3080
+
3081
+ class Match < ModerationAPI::Internal::Type::BaseModel
3082
+ attr_accessor match: String
3083
+
3084
+ attr_accessor probability: Float
3085
+
3086
+ attr_accessor span: ::Array[top]
3087
+
3088
+ attr_reader entity_type: String?
3089
+
3090
+ def entity_type=: (String) -> String
3091
+
3092
+ attr_accessor mask: String?
3093
+
3094
+ attr_reader reasons: ::Array[String]?
3095
+
3096
+ def reasons=: (::Array[String]) -> ::Array[String]
3097
+
3098
+ attr_reader signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals?
3099
+
3100
+ def signals=: (
3101
+ ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3102
+ ) -> ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3103
+
3104
+ def initialize: (
3105
+ match: String,
3106
+ probability: Float,
3107
+ span: ::Array[top],
3108
+ ?entity_type: String,
3109
+ ?mask: String?,
3110
+ ?reasons: ::Array[String],
3111
+ ?signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3112
+ ) -> void
3113
+
3114
+ def to_hash: -> {
3115
+ match: String,
3116
+ probability: Float,
3117
+ span: ::Array[top],
3118
+ entity_type: String,
3119
+ mask: String?,
3120
+ reasons: ::Array[String],
3121
+ signals: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals
3122
+ }
3123
+
3124
+ type signals =
3125
+ {
3126
+ bot_protection: bool?,
3127
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
3128
+ domain_age_days: Float?,
3129
+ final_url: String?,
3130
+ has_email_setup: bool?,
3131
+ has_suspicious_characters: bool,
3132
+ is_link_shortener: bool,
3133
+ is_reported: bool,
3134
+ redirect_count: Float?
3135
+ }
3136
+
3137
+ class Signals < ModerationAPI::Internal::Type::BaseModel
3138
+ attr_accessor bot_protection: bool?
3139
+
3140
+ attr_accessor brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals::BrandImpersonation?
3141
+
3142
+ attr_accessor domain_age_days: Float?
3143
+
3144
+ attr_accessor final_url: String?
3145
+
3146
+ attr_accessor has_email_setup: bool?
3147
+
3148
+ attr_accessor has_suspicious_characters: bool
3149
+
3150
+ attr_accessor is_link_shortener: bool
3151
+
3152
+ attr_accessor is_reported: bool
3153
+
3154
+ attr_accessor redirect_count: Float?
3155
+
3156
+ def initialize: (
3157
+ bot_protection: bool?,
3158
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
3159
+ domain_age_days: Float?,
3160
+ final_url: String?,
3161
+ has_email_setup: bool?,
3162
+ has_suspicious_characters: bool,
3163
+ is_link_shortener: bool,
3164
+ is_reported: bool,
3165
+ redirect_count: Float?
3166
+ ) -> void
3167
+
3168
+ def to_hash: -> {
3169
+ bot_protection: bool?,
3170
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAction::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
3171
+ domain_age_days: Float?,
3172
+ final_url: String?,
3173
+ has_email_setup: bool?,
3174
+ has_suspicious_characters: bool,
3175
+ is_link_shortener: bool,
3176
+ is_reported: bool,
3177
+ redirect_count: Float?
3178
+ }
3179
+
3180
+ type brand_impersonation =
3181
+ { brand: String, method_: String }
3182
+
3183
+ class BrandImpersonation < ModerationAPI::Internal::Type::BaseModel
3184
+ attr_accessor brand: String
3185
+
3186
+ attr_accessor method_: String
3187
+
3188
+ def initialize: (brand: String, method_: String) -> void
3189
+
3190
+ def to_hash: -> { brand: String, method_: String }
3191
+ end
3192
+ end
3193
+ end
3194
+ end
3195
+
3196
+ type meta_type =
3197
+ :profile
3198
+ | :message
3199
+ | :post
3200
+ | :comment
3201
+ | :event
3202
+ | :product
3203
+ | :review
3204
+ | :other
3205
+
3206
+ module MetaType
3207
+ extend ModerationAPI::Internal::Type::Enum
3208
+
3209
+ PROFILE: :profile
3210
+ MESSAGE: :message
3211
+ POST: :post
3212
+ COMMENT: :comment
3213
+ EVENT: :event
3214
+ PRODUCT: :product
3215
+ REVIEW: :review
3216
+ OTHER: :other
3217
+
3218
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAction::Data::Object::Item::meta_type]
3219
+ end
3220
+ end
3221
+
3222
+ type queue = { id: String }
3223
+
3224
+ class Queue < ModerationAPI::Internal::Type::BaseModel
3225
+ attr_accessor id: String
3226
+
3227
+ def initialize: (id: String) -> void
3228
+
3229
+ def to_hash: -> { id: String }
3230
+ end
3231
+ end
3232
+ end
3233
+ end
3234
+
3235
+ type queue_item_rejected =
3236
+ {
3237
+ id: String,
3238
+ api_version: :v2,
3239
+ created: Time,
3240
+ data: ModerationAPI::WebhookEvent::QueueItemRejected::Data,
3241
+ type: :"queue_item.rejected"
3242
+ }
3243
+
3244
+ class QueueItemRejected < ModerationAPI::Internal::Type::BaseModel
3245
+ attr_accessor id: String
3246
+
3247
+ attr_accessor api_version: :v2
3248
+
3249
+ attr_accessor created: Time
3250
+
3251
+ attr_accessor data: ModerationAPI::WebhookEvent::QueueItemRejected::Data
3252
+
3253
+ attr_accessor type: :"queue_item.rejected"
3254
+
3255
+ def initialize: (
3256
+ id: String,
3257
+ created: Time,
3258
+ data: ModerationAPI::WebhookEvent::QueueItemRejected::Data,
3259
+ ?api_version: :v2,
3260
+ ?type: :"queue_item.rejected"
3261
+ ) -> void
3262
+
3263
+ def to_hash: -> {
3264
+ id: String,
3265
+ api_version: :v2,
3266
+ created: Time,
3267
+ data: ModerationAPI::WebhookEvent::QueueItemRejected::Data,
3268
+ type: :"queue_item.rejected"
3269
+ }
3270
+
3271
+ type data =
3272
+ {
3273
+ object: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object
3274
+ }
3275
+
3276
+ class Data < ModerationAPI::Internal::Type::BaseModel
3277
+ attr_accessor object: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object
3278
+
3279
+ def initialize: (
3280
+ object: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object
3281
+ ) -> void
3282
+
3283
+ def to_hash: -> {
3284
+ object: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object
3285
+ }
3286
+
3287
+ type object =
3288
+ {
3289
+ id: String,
3290
+ created_at: Time,
3291
+ key: String?,
3292
+ name: String?,
3293
+ value: String?,
3294
+ author: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author,
3295
+ item: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item,
3296
+ queue: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Queue
3297
+ }
3298
+
3299
+ class Object < ModerationAPI::Internal::Type::BaseModel
3300
+ attr_accessor id: String
3301
+
3302
+ attr_accessor created_at: Time
3303
+
3304
+ attr_accessor key: String?
3305
+
3306
+ attr_accessor name: String?
3307
+
3308
+ attr_accessor value: String?
3309
+
3310
+ attr_reader author: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author?
3311
+
3312
+ def author=: (
3313
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author
3314
+ ) -> ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author
3315
+
3316
+ attr_reader item: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item?
3317
+
3318
+ def item=: (
3319
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item
3320
+ ) -> ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item
3321
+
3322
+ attr_reader queue: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Queue?
3323
+
3324
+ def queue=: (
3325
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Queue
3326
+ ) -> ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Queue
3327
+
3328
+ def initialize: (
3329
+ id: String,
3330
+ created_at: Time,
3331
+ key: String?,
3332
+ name: String?,
3333
+ value: String?,
3334
+ ?author: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author,
3335
+ ?item: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item,
3336
+ ?queue: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Queue
3337
+ ) -> void
3338
+
3339
+ def to_hash: -> {
3340
+ id: String,
3341
+ created_at: Time,
3342
+ key: String?,
3343
+ name: String?,
3344
+ value: String?,
3345
+ author: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author,
3346
+ item: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item,
3347
+ queue: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Queue
3348
+ }
3349
+
3350
+ type author =
3351
+ {
3352
+ id: String,
3353
+ block: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Block?,
3354
+ first_seen: Float,
3355
+ last_seen: Float,
3356
+ metadata: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metadata,
3357
+ metrics: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metrics,
3358
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::RiskEvaluation?,
3359
+ status: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Author::status,
3360
+ trust_level: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::TrustLevel,
3361
+ company: String?,
3362
+ email: String?,
3363
+ external_id: String?,
3364
+ external_link: String?,
3365
+ last_incident: Float?,
3366
+ name: String?,
3367
+ profile_picture: String?
3368
+ }
3369
+
3370
+ class Author < ModerationAPI::Internal::Type::BaseModel
3371
+ attr_accessor id: String
3372
+
3373
+ attr_accessor block: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Block?
3374
+
3375
+ attr_accessor first_seen: Float
3376
+
3377
+ attr_accessor last_seen: Float
3378
+
3379
+ attr_accessor metadata: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metadata
3380
+
3381
+ attr_accessor metrics: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metrics
3382
+
3383
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::RiskEvaluation?
3384
+
3385
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Author::status
3386
+
3387
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::TrustLevel
3388
+
3389
+ attr_accessor company: String?
3390
+
3391
+ attr_accessor email: String?
3392
+
3393
+ attr_accessor external_id: String?
3394
+
3395
+ attr_accessor external_link: String?
3396
+
3397
+ attr_accessor last_incident: Float?
3398
+
3399
+ attr_accessor name: String?
3400
+
3401
+ attr_accessor profile_picture: String?
3402
+
3403
+ def initialize: (
3404
+ id: String,
3405
+ block: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Block?,
3406
+ first_seen: Float,
3407
+ last_seen: Float,
3408
+ metadata: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metadata,
3409
+ metrics: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metrics,
3410
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::RiskEvaluation?,
3411
+ status: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Author::status,
3412
+ trust_level: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::TrustLevel,
3413
+ ?company: String?,
3414
+ ?email: String?,
3415
+ ?external_id: String?,
3416
+ ?external_link: String?,
3417
+ ?last_incident: Float?,
3418
+ ?name: String?,
3419
+ ?profile_picture: String?
3420
+ ) -> void
3421
+
3422
+ def to_hash: -> {
3423
+ id: String,
3424
+ block: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Block?,
3425
+ first_seen: Float,
3426
+ last_seen: Float,
3427
+ metadata: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metadata,
3428
+ metrics: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::Metrics,
3429
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::RiskEvaluation?,
3430
+ status: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Author::status,
3431
+ trust_level: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Author::TrustLevel,
3432
+ company: String?,
3433
+ email: String?,
3434
+ external_id: String?,
3435
+ external_link: String?,
3436
+ last_incident: Float?,
3437
+ name: String?,
3438
+ profile_picture: String?
3439
+ }
3440
+
3441
+ type block = { reason: String?, until_: Float? }
3442
+
3443
+ class Block < ModerationAPI::Internal::Type::BaseModel
3444
+ attr_accessor reason: String?
3445
+
3446
+ attr_accessor until_: Float?
3447
+
3448
+ def initialize: (?reason: String?, ?until_: Float?) -> void
3449
+
3450
+ def to_hash: -> { reason: String?, until_: Float? }
3451
+ end
3452
+
3453
+ type metadata =
3454
+ {
3455
+ email_verified: bool?,
3456
+ identity_verified: bool?,
3457
+ is_paying_customer: bool?,
3458
+ phone_verified: bool?
3459
+ }
3460
+
3461
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
3462
+ attr_accessor email_verified: bool?
3463
+
3464
+ attr_accessor identity_verified: bool?
3465
+
3466
+ attr_accessor is_paying_customer: bool?
3467
+
3468
+ attr_accessor phone_verified: bool?
3469
+
3470
+ def initialize: (
3471
+ ?email_verified: bool?,
3472
+ ?identity_verified: bool?,
3473
+ ?is_paying_customer: bool?,
3474
+ ?phone_verified: bool?
3475
+ ) -> void
3476
+
3477
+ def to_hash: -> {
3478
+ email_verified: bool?,
3479
+ identity_verified: bool?,
3480
+ is_paying_customer: bool?,
3481
+ phone_verified: bool?
3482
+ }
3483
+ end
3484
+
3485
+ type metrics =
3486
+ {
3487
+ flagged_content: Float,
3488
+ total_content: Float,
3489
+ average_sentiment: Float?
3490
+ }
3491
+
3492
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
3493
+ attr_accessor flagged_content: Float
3494
+
3495
+ attr_accessor total_content: Float
3496
+
3497
+ attr_accessor average_sentiment: Float?
3498
+
3499
+ def initialize: (
3500
+ flagged_content: Float,
3501
+ total_content: Float,
3502
+ ?average_sentiment: Float?
3503
+ ) -> void
3504
+
3505
+ def to_hash: -> {
3506
+ flagged_content: Float,
3507
+ total_content: Float,
3508
+ average_sentiment: Float?
3509
+ }
3510
+ end
3511
+
3512
+ type risk_evaluation = { risk_level: Float? }
3513
+
3514
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
3515
+ attr_accessor risk_level: Float?
3516
+
3517
+ def initialize: (?risk_level: Float?) -> void
3518
+
3519
+ def to_hash: -> { risk_level: Float? }
3520
+ end
3521
+
3522
+ type status = :enabled | :suspended | :blocked
3523
+
3524
+ module Status
3525
+ extend ModerationAPI::Internal::Type::Enum
3526
+
3527
+ ENABLED: :enabled
3528
+ SUSPENDED: :suspended
3529
+ BLOCKED: :blocked
3530
+
3531
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Author::status]
3532
+ end
3533
+
3534
+ type trust_level = { level: Float, manual: bool }
3535
+
3536
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
3537
+ attr_accessor level: Float
3538
+
3539
+ attr_accessor manual: bool
3540
+
3541
+ def initialize: (level: Float, manual: bool) -> void
3542
+
3543
+ def to_hash: -> { level: Float, manual: bool }
3544
+ end
3545
+ end
3546
+
3547
+ type item =
3548
+ {
3549
+ id: String,
3550
+ author_id: String?,
3551
+ channel_key: String?,
3552
+ content: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::content,
3553
+ conversation_id: String?,
3554
+ flagged: bool?,
3555
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label]?,
3556
+ language: String?,
3557
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::meta_type?,
3558
+ metadata: ::Hash[Symbol, top]?,
3559
+ timestamp: Time
3560
+ }
3561
+
3562
+ class Item < ModerationAPI::Internal::Type::BaseModel
3563
+ attr_accessor id: String
3564
+
3565
+ attr_accessor author_id: String?
3566
+
3567
+ attr_accessor channel_key: String?
3568
+
3569
+ attr_accessor content: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::content
3570
+
3571
+ attr_accessor conversation_id: String?
3572
+
3573
+ attr_accessor flagged: bool?
3574
+
3575
+ attr_accessor labels: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label]?
3576
+
3577
+ attr_accessor language: String?
3578
+
3579
+ attr_accessor meta_type: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::meta_type?
3580
+
3581
+ attr_accessor metadata: ::Hash[Symbol, top]?
3582
+
3583
+ attr_accessor timestamp: Time
3584
+
3585
+ def initialize: (
3586
+ id: String,
3587
+ author_id: String?,
3588
+ channel_key: String?,
3589
+ content: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::content,
3590
+ conversation_id: String?,
3591
+ flagged: bool?,
3592
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label]?,
3593
+ language: String?,
3594
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::meta_type?,
3595
+ metadata: ::Hash[Symbol, top]?,
3596
+ timestamp: Time
3597
+ ) -> void
3598
+
3599
+ def to_hash: -> {
3600
+ id: String,
3601
+ author_id: String?,
3602
+ channel_key: String?,
3603
+ content: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::content,
3604
+ conversation_id: String?,
3605
+ flagged: bool?,
3606
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label]?,
3607
+ language: String?,
3608
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::meta_type?,
3609
+ metadata: ::Hash[Symbol, top]?,
3610
+ timestamp: Time
3611
+ }
3612
+
3613
+ type content =
3614
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Text
3615
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Image
3616
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Video
3617
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Audio
3618
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object
3619
+
3620
+ module Content
3621
+ extend ModerationAPI::Internal::Type::Union
3622
+
3623
+ type text = { text: String, type: :text }
3624
+
3625
+ class Text < ModerationAPI::Internal::Type::BaseModel
3626
+ attr_accessor text: String
3627
+
3628
+ attr_accessor type: :text
3629
+
3630
+ def initialize: (text: String, ?type: :text) -> void
3631
+
3632
+ def to_hash: -> { text: String, type: :text }
3633
+ end
3634
+
3635
+ type image = { type: :image, data: String, url: String }
3636
+
3637
+ class Image < ModerationAPI::Internal::Type::BaseModel
3638
+ attr_accessor type: :image
3639
+
3640
+ attr_reader data: String?
3641
+
3642
+ def data=: (String) -> String
3643
+
3644
+ attr_reader url: String?
3645
+
3646
+ def url=: (String) -> String
3647
+
3648
+ def initialize: (
3649
+ ?data: String,
3650
+ ?url: String,
3651
+ ?type: :image
3652
+ ) -> void
3653
+
3654
+ def to_hash: -> { type: :image, data: String, url: String }
3655
+ end
3656
+
3657
+ type video = { type: :video, url: String }
3658
+
3659
+ class Video < ModerationAPI::Internal::Type::BaseModel
3660
+ attr_accessor type: :video
3661
+
3662
+ attr_accessor url: String
3663
+
3664
+ def initialize: (url: String, ?type: :video) -> void
3665
+
3666
+ def to_hash: -> { type: :video, url: String }
3667
+ end
3668
+
3669
+ type audio = { type: :audio, url: String }
3670
+
3671
+ class Audio < ModerationAPI::Internal::Type::BaseModel
3672
+ attr_accessor type: :audio
3673
+
3674
+ attr_accessor url: String
3675
+
3676
+ def initialize: (url: String, ?type: :audio) -> void
3677
+
3678
+ def to_hash: -> { type: :audio, url: String }
3679
+ end
3680
+
3681
+ type object =
3682
+ {
3683
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::data],
3684
+ type: :object
3685
+ }
3686
+
3687
+ class Object < ModerationAPI::Internal::Type::BaseModel
3688
+ attr_accessor data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::data]
3689
+
3690
+ attr_accessor type: :object
3691
+
3692
+ def initialize: (
3693
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::data],
3694
+ ?type: :object
3695
+ ) -> void
3696
+
3697
+ def to_hash: -> {
3698
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::data],
3699
+ type: :object
3700
+ }
3701
+
3702
+ type data =
3703
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::Data::Text
3704
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::Data::Image
3705
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::Data::Video
3706
+ | ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::Data::Audio
3707
+
3708
+ module Data
3709
+ extend ModerationAPI::Internal::Type::Union
3710
+
3711
+ type text = { text: String, type: :text }
3712
+
3713
+ class Text < ModerationAPI::Internal::Type::BaseModel
3714
+ attr_accessor text: String
3715
+
3716
+ attr_accessor type: :text
3717
+
3718
+ def initialize: (text: String, ?type: :text) -> void
3719
+
3720
+ def to_hash: -> { text: String, type: :text }
3721
+ end
3722
+
3723
+ type image = { type: :image, data: String, url: String }
3724
+
3725
+ class Image < ModerationAPI::Internal::Type::BaseModel
3726
+ attr_accessor type: :image
3727
+
3728
+ attr_reader data: String?
3729
+
3730
+ def data=: (String) -> String
3731
+
3732
+ attr_reader url: String?
3733
+
3734
+ def url=: (String) -> String
3735
+
3736
+ def initialize: (
3737
+ ?data: String,
3738
+ ?url: String,
3739
+ ?type: :image
3740
+ ) -> void
3741
+
3742
+ def to_hash: -> {
3743
+ type: :image,
3744
+ data: String,
3745
+ url: String
3746
+ }
3747
+ end
3748
+
3749
+ type video = { type: :video, url: String }
3750
+
3751
+ class Video < ModerationAPI::Internal::Type::BaseModel
3752
+ attr_accessor type: :video
3753
+
3754
+ attr_accessor url: String
3755
+
3756
+ def initialize: (url: String, ?type: :video) -> void
3757
+
3758
+ def to_hash: -> { type: :video, url: String }
3759
+ end
3760
+
3761
+ type audio = { type: :audio, url: String }
3762
+
3763
+ class Audio < ModerationAPI::Internal::Type::BaseModel
3764
+ attr_accessor type: :audio
3765
+
3766
+ attr_accessor url: String
3767
+
3768
+ def initialize: (url: String, ?type: :audio) -> void
3769
+
3770
+ def to_hash: -> { type: :audio, url: String }
3771
+ end
3772
+
3773
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::Content::Object::data]
3774
+ end
3775
+ end
3776
+
3777
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::content]
3778
+ end
3779
+
3780
+ type label =
3781
+ {
3782
+ label: String,
3783
+ score: Float,
3784
+ flagged: bool,
3785
+ manual: bool,
3786
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
3787
+ }
3788
+
3789
+ class Label < ModerationAPI::Internal::Type::BaseModel
3790
+ attr_accessor label: String
3791
+
3792
+ attr_accessor score: Float
3793
+
3794
+ attr_reader flagged: bool?
3795
+
3796
+ def flagged=: (bool) -> bool
3797
+
3798
+ attr_reader manual: bool?
3799
+
3800
+ def manual=: (bool) -> bool
3801
+
3802
+ attr_reader matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]?
3803
+
3804
+ def matches=: (
3805
+ ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
3806
+ ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
3807
+
3808
+ def initialize: (
3809
+ label: String,
3810
+ score: Float,
3811
+ ?flagged: bool,
3812
+ ?manual: bool,
3813
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
3814
+ ) -> void
3815
+
3816
+ def to_hash: -> {
3817
+ label: String,
3818
+ score: Float,
3819
+ flagged: bool,
3820
+ manual: bool,
3821
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match]
3822
+ }
3823
+
3824
+ type match =
3825
+ {
3826
+ match: String,
3827
+ probability: Float,
3828
+ span: ::Array[top],
3829
+ entity_type: String,
3830
+ mask: String?,
3831
+ reasons: ::Array[String],
3832
+ signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
3833
+ }
3834
+
3835
+ class Match < ModerationAPI::Internal::Type::BaseModel
3836
+ attr_accessor match: String
3837
+
3838
+ attr_accessor probability: Float
3839
+
3840
+ attr_accessor span: ::Array[top]
3841
+
3842
+ attr_reader entity_type: String?
3843
+
3844
+ def entity_type=: (String) -> String
3845
+
3846
+ attr_accessor mask: String?
3847
+
3848
+ attr_reader reasons: ::Array[String]?
3849
+
3850
+ def reasons=: (::Array[String]) -> ::Array[String]
3851
+
3852
+ attr_reader signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals?
3853
+
3854
+ def signals=: (
3855
+ ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
3856
+ ) -> ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
3857
+
3858
+ def initialize: (
3859
+ match: String,
3860
+ probability: Float,
3861
+ span: ::Array[top],
3862
+ ?entity_type: String,
3863
+ ?mask: String?,
3864
+ ?reasons: ::Array[String],
3865
+ ?signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
3866
+ ) -> void
3867
+
3868
+ def to_hash: -> {
3869
+ match: String,
3870
+ probability: Float,
3871
+ span: ::Array[top],
3872
+ entity_type: String,
3873
+ mask: String?,
3874
+ reasons: ::Array[String],
3875
+ signals: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals
3876
+ }
3877
+
3878
+ type signals =
3879
+ {
3880
+ bot_protection: bool?,
3881
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
3882
+ domain_age_days: Float?,
3883
+ final_url: String?,
3884
+ has_email_setup: bool?,
3885
+ has_suspicious_characters: bool,
3886
+ is_link_shortener: bool,
3887
+ is_reported: bool,
3888
+ redirect_count: Float?
3889
+ }
3890
+
3891
+ class Signals < ModerationAPI::Internal::Type::BaseModel
3892
+ attr_accessor bot_protection: bool?
3893
+
3894
+ attr_accessor brand_impersonation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals::BrandImpersonation?
3895
+
3896
+ attr_accessor domain_age_days: Float?
3897
+
3898
+ attr_accessor final_url: String?
3899
+
3900
+ attr_accessor has_email_setup: bool?
3901
+
3902
+ attr_accessor has_suspicious_characters: bool
3903
+
3904
+ attr_accessor is_link_shortener: bool
3905
+
3906
+ attr_accessor is_reported: bool
3907
+
3908
+ attr_accessor redirect_count: Float?
3909
+
3910
+ def initialize: (
3911
+ bot_protection: bool?,
3912
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
3913
+ domain_age_days: Float?,
3914
+ final_url: String?,
3915
+ has_email_setup: bool?,
3916
+ has_suspicious_characters: bool,
3917
+ is_link_shortener: bool,
3918
+ is_reported: bool,
3919
+ redirect_count: Float?
3920
+ ) -> void
3921
+
3922
+ def to_hash: -> {
3923
+ bot_protection: bool?,
3924
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemRejected::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
3925
+ domain_age_days: Float?,
3926
+ final_url: String?,
3927
+ has_email_setup: bool?,
3928
+ has_suspicious_characters: bool,
3929
+ is_link_shortener: bool,
3930
+ is_reported: bool,
3931
+ redirect_count: Float?
3932
+ }
3933
+
3934
+ type brand_impersonation =
3935
+ { brand: String, method_: String }
3936
+
3937
+ class BrandImpersonation < ModerationAPI::Internal::Type::BaseModel
3938
+ attr_accessor brand: String
3939
+
3940
+ attr_accessor method_: String
3941
+
3942
+ def initialize: (brand: String, method_: String) -> void
3943
+
3944
+ def to_hash: -> { brand: String, method_: String }
3945
+ end
3946
+ end
3947
+ end
3948
+ end
3949
+
3950
+ type meta_type =
3951
+ :profile
3952
+ | :message
3953
+ | :post
3954
+ | :comment
3955
+ | :event
3956
+ | :product
3957
+ | :review
3958
+ | :other
3959
+
3960
+ module MetaType
3961
+ extend ModerationAPI::Internal::Type::Enum
3962
+
3963
+ PROFILE: :profile
3964
+ MESSAGE: :message
3965
+ POST: :post
3966
+ COMMENT: :comment
3967
+ EVENT: :event
3968
+ PRODUCT: :product
3969
+ REVIEW: :review
3970
+ OTHER: :other
3971
+
3972
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemRejected::Data::Object::Item::meta_type]
3973
+ end
3974
+ end
3975
+
3976
+ type queue = { id: String }
3977
+
3978
+ class Queue < ModerationAPI::Internal::Type::BaseModel
3979
+ attr_accessor id: String
3980
+
3981
+ def initialize: (id: String) -> void
3982
+
3983
+ def to_hash: -> { id: String }
3984
+ end
3985
+ end
3986
+ end
3987
+ end
3988
+
3989
+ type queue_item_allowed =
3990
+ {
3991
+ id: String,
3992
+ api_version: :v2,
3993
+ created: Time,
3994
+ data: ModerationAPI::WebhookEvent::QueueItemAllowed::Data,
3995
+ type: :"queue_item.allowed"
3996
+ }
3997
+
3998
+ class QueueItemAllowed < ModerationAPI::Internal::Type::BaseModel
3999
+ attr_accessor id: String
4000
+
4001
+ attr_accessor api_version: :v2
4002
+
4003
+ attr_accessor created: Time
4004
+
4005
+ attr_accessor data: ModerationAPI::WebhookEvent::QueueItemAllowed::Data
4006
+
4007
+ attr_accessor type: :"queue_item.allowed"
4008
+
4009
+ def initialize: (
4010
+ id: String,
4011
+ created: Time,
4012
+ data: ModerationAPI::WebhookEvent::QueueItemAllowed::Data,
4013
+ ?api_version: :v2,
4014
+ ?type: :"queue_item.allowed"
4015
+ ) -> void
4016
+
4017
+ def to_hash: -> {
4018
+ id: String,
4019
+ api_version: :v2,
4020
+ created: Time,
4021
+ data: ModerationAPI::WebhookEvent::QueueItemAllowed::Data,
4022
+ type: :"queue_item.allowed"
4023
+ }
4024
+
4025
+ type data =
4026
+ {
4027
+ object: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object
4028
+ }
4029
+
4030
+ class Data < ModerationAPI::Internal::Type::BaseModel
4031
+ attr_accessor object: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object
4032
+
4033
+ def initialize: (
4034
+ object: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object
4035
+ ) -> void
4036
+
4037
+ def to_hash: -> {
4038
+ object: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object
4039
+ }
4040
+
4041
+ type object =
4042
+ {
4043
+ id: String,
4044
+ created_at: Time,
4045
+ key: String?,
4046
+ name: String?,
4047
+ value: String?,
4048
+ author: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author,
4049
+ item: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item,
4050
+ queue: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Queue
4051
+ }
4052
+
4053
+ class Object < ModerationAPI::Internal::Type::BaseModel
4054
+ attr_accessor id: String
4055
+
4056
+ attr_accessor created_at: Time
4057
+
4058
+ attr_accessor key: String?
4059
+
4060
+ attr_accessor name: String?
4061
+
4062
+ attr_accessor value: String?
4063
+
4064
+ attr_reader author: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author?
4065
+
4066
+ def author=: (
4067
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author
4068
+ ) -> ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author
4069
+
4070
+ attr_reader item: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item?
4071
+
4072
+ def item=: (
4073
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item
4074
+ ) -> ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item
4075
+
4076
+ attr_reader queue: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Queue?
4077
+
4078
+ def queue=: (
4079
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Queue
4080
+ ) -> ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Queue
4081
+
4082
+ def initialize: (
4083
+ id: String,
4084
+ created_at: Time,
4085
+ key: String?,
4086
+ name: String?,
4087
+ value: String?,
4088
+ ?author: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author,
4089
+ ?item: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item,
4090
+ ?queue: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Queue
4091
+ ) -> void
4092
+
4093
+ def to_hash: -> {
4094
+ id: String,
4095
+ created_at: Time,
4096
+ key: String?,
4097
+ name: String?,
4098
+ value: String?,
4099
+ author: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author,
4100
+ item: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item,
4101
+ queue: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Queue
4102
+ }
4103
+
4104
+ type author =
4105
+ {
4106
+ id: String,
4107
+ block: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Block?,
4108
+ first_seen: Float,
4109
+ last_seen: Float,
4110
+ metadata: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metadata,
4111
+ metrics: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metrics,
4112
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::RiskEvaluation?,
4113
+ status: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Author::status,
4114
+ trust_level: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::TrustLevel,
4115
+ company: String?,
4116
+ email: String?,
4117
+ external_id: String?,
4118
+ external_link: String?,
4119
+ last_incident: Float?,
4120
+ name: String?,
4121
+ profile_picture: String?
4122
+ }
4123
+
4124
+ class Author < ModerationAPI::Internal::Type::BaseModel
4125
+ attr_accessor id: String
4126
+
4127
+ attr_accessor block: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Block?
4128
+
4129
+ attr_accessor first_seen: Float
4130
+
4131
+ attr_accessor last_seen: Float
4132
+
4133
+ attr_accessor metadata: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metadata
4134
+
4135
+ attr_accessor metrics: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metrics
4136
+
4137
+ attr_accessor risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::RiskEvaluation?
4138
+
4139
+ attr_accessor status: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Author::status
4140
+
4141
+ attr_accessor trust_level: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::TrustLevel
4142
+
4143
+ attr_accessor company: String?
4144
+
4145
+ attr_accessor email: String?
4146
+
4147
+ attr_accessor external_id: String?
4148
+
4149
+ attr_accessor external_link: String?
4150
+
4151
+ attr_accessor last_incident: Float?
4152
+
4153
+ attr_accessor name: String?
4154
+
4155
+ attr_accessor profile_picture: String?
4156
+
4157
+ def initialize: (
4158
+ id: String,
4159
+ block: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Block?,
4160
+ first_seen: Float,
4161
+ last_seen: Float,
4162
+ metadata: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metadata,
4163
+ metrics: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metrics,
4164
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::RiskEvaluation?,
4165
+ status: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Author::status,
4166
+ trust_level: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::TrustLevel,
4167
+ ?company: String?,
4168
+ ?email: String?,
4169
+ ?external_id: String?,
4170
+ ?external_link: String?,
4171
+ ?last_incident: Float?,
4172
+ ?name: String?,
4173
+ ?profile_picture: String?
4174
+ ) -> void
4175
+
4176
+ def to_hash: -> {
4177
+ id: String,
4178
+ block: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Block?,
4179
+ first_seen: Float,
4180
+ last_seen: Float,
4181
+ metadata: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metadata,
4182
+ metrics: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::Metrics,
4183
+ risk_evaluation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::RiskEvaluation?,
4184
+ status: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Author::status,
4185
+ trust_level: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Author::TrustLevel,
4186
+ company: String?,
4187
+ email: String?,
4188
+ external_id: String?,
4189
+ external_link: String?,
4190
+ last_incident: Float?,
4191
+ name: String?,
4192
+ profile_picture: String?
4193
+ }
4194
+
4195
+ type block = { reason: String?, until_: Float? }
4196
+
4197
+ class Block < ModerationAPI::Internal::Type::BaseModel
4198
+ attr_accessor reason: String?
4199
+
4200
+ attr_accessor until_: Float?
4201
+
4202
+ def initialize: (?reason: String?, ?until_: Float?) -> void
4203
+
4204
+ def to_hash: -> { reason: String?, until_: Float? }
4205
+ end
4206
+
4207
+ type metadata =
4208
+ {
4209
+ email_verified: bool?,
4210
+ identity_verified: bool?,
4211
+ is_paying_customer: bool?,
4212
+ phone_verified: bool?
4213
+ }
4214
+
4215
+ class Metadata < ModerationAPI::Internal::Type::BaseModel
4216
+ attr_accessor email_verified: bool?
4217
+
4218
+ attr_accessor identity_verified: bool?
4219
+
4220
+ attr_accessor is_paying_customer: bool?
4221
+
4222
+ attr_accessor phone_verified: bool?
4223
+
4224
+ def initialize: (
4225
+ ?email_verified: bool?,
4226
+ ?identity_verified: bool?,
4227
+ ?is_paying_customer: bool?,
4228
+ ?phone_verified: bool?
4229
+ ) -> void
4230
+
4231
+ def to_hash: -> {
4232
+ email_verified: bool?,
4233
+ identity_verified: bool?,
4234
+ is_paying_customer: bool?,
4235
+ phone_verified: bool?
4236
+ }
4237
+ end
4238
+
4239
+ type metrics =
4240
+ {
4241
+ flagged_content: Float,
4242
+ total_content: Float,
4243
+ average_sentiment: Float?
4244
+ }
4245
+
4246
+ class Metrics < ModerationAPI::Internal::Type::BaseModel
4247
+ attr_accessor flagged_content: Float
4248
+
4249
+ attr_accessor total_content: Float
4250
+
4251
+ attr_accessor average_sentiment: Float?
4252
+
4253
+ def initialize: (
4254
+ flagged_content: Float,
4255
+ total_content: Float,
4256
+ ?average_sentiment: Float?
4257
+ ) -> void
4258
+
4259
+ def to_hash: -> {
4260
+ flagged_content: Float,
4261
+ total_content: Float,
4262
+ average_sentiment: Float?
4263
+ }
4264
+ end
4265
+
4266
+ type risk_evaluation = { risk_level: Float? }
4267
+
4268
+ class RiskEvaluation < ModerationAPI::Internal::Type::BaseModel
4269
+ attr_accessor risk_level: Float?
4270
+
4271
+ def initialize: (?risk_level: Float?) -> void
4272
+
4273
+ def to_hash: -> { risk_level: Float? }
4274
+ end
4275
+
4276
+ type status = :enabled | :suspended | :blocked
4277
+
4278
+ module Status
4279
+ extend ModerationAPI::Internal::Type::Enum
4280
+
4281
+ ENABLED: :enabled
4282
+ SUSPENDED: :suspended
4283
+ BLOCKED: :blocked
4284
+
4285
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Author::status]
4286
+ end
4287
+
4288
+ type trust_level = { level: Float, manual: bool }
4289
+
4290
+ class TrustLevel < ModerationAPI::Internal::Type::BaseModel
4291
+ attr_accessor level: Float
4292
+
4293
+ attr_accessor manual: bool
4294
+
4295
+ def initialize: (level: Float, manual: bool) -> void
4296
+
4297
+ def to_hash: -> { level: Float, manual: bool }
4298
+ end
4299
+ end
4300
+
4301
+ type item =
4302
+ {
4303
+ id: String,
4304
+ author_id: String?,
4305
+ channel_key: String?,
4306
+ content: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::content,
4307
+ conversation_id: String?,
4308
+ flagged: bool?,
4309
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label]?,
4310
+ language: String?,
4311
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::meta_type?,
4312
+ metadata: ::Hash[Symbol, top]?,
4313
+ timestamp: Time
4314
+ }
4315
+
4316
+ class Item < ModerationAPI::Internal::Type::BaseModel
4317
+ attr_accessor id: String
4318
+
4319
+ attr_accessor author_id: String?
4320
+
4321
+ attr_accessor channel_key: String?
4322
+
4323
+ attr_accessor content: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::content
4324
+
4325
+ attr_accessor conversation_id: String?
4326
+
4327
+ attr_accessor flagged: bool?
4328
+
4329
+ attr_accessor labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label]?
4330
+
4331
+ attr_accessor language: String?
4332
+
4333
+ attr_accessor meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::meta_type?
4334
+
4335
+ attr_accessor metadata: ::Hash[Symbol, top]?
4336
+
4337
+ attr_accessor timestamp: Time
4338
+
4339
+ def initialize: (
4340
+ id: String,
4341
+ author_id: String?,
4342
+ channel_key: String?,
4343
+ content: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::content,
4344
+ conversation_id: String?,
4345
+ flagged: bool?,
4346
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label]?,
4347
+ language: String?,
4348
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::meta_type?,
4349
+ metadata: ::Hash[Symbol, top]?,
4350
+ timestamp: Time
4351
+ ) -> void
4352
+
4353
+ def to_hash: -> {
4354
+ id: String,
4355
+ author_id: String?,
4356
+ channel_key: String?,
4357
+ content: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::content,
4358
+ conversation_id: String?,
4359
+ flagged: bool?,
4360
+ labels: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label]?,
4361
+ language: String?,
4362
+ meta_type: ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::meta_type?,
4363
+ metadata: ::Hash[Symbol, top]?,
4364
+ timestamp: Time
4365
+ }
4366
+
4367
+ type content =
4368
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Text
4369
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Image
4370
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Video
4371
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Audio
4372
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object
4373
+
4374
+ module Content
4375
+ extend ModerationAPI::Internal::Type::Union
4376
+
4377
+ type text = { text: String, type: :text }
4378
+
4379
+ class Text < ModerationAPI::Internal::Type::BaseModel
4380
+ attr_accessor text: String
4381
+
4382
+ attr_accessor type: :text
4383
+
4384
+ def initialize: (text: String, ?type: :text) -> void
4385
+
4386
+ def to_hash: -> { text: String, type: :text }
4387
+ end
4388
+
4389
+ type image = { type: :image, data: String, url: String }
4390
+
4391
+ class Image < ModerationAPI::Internal::Type::BaseModel
4392
+ attr_accessor type: :image
4393
+
4394
+ attr_reader data: String?
4395
+
4396
+ def data=: (String) -> String
4397
+
4398
+ attr_reader url: String?
4399
+
4400
+ def url=: (String) -> String
4401
+
4402
+ def initialize: (
4403
+ ?data: String,
4404
+ ?url: String,
4405
+ ?type: :image
4406
+ ) -> void
4407
+
4408
+ def to_hash: -> { type: :image, data: String, url: String }
4409
+ end
4410
+
4411
+ type video = { type: :video, url: String }
4412
+
4413
+ class Video < ModerationAPI::Internal::Type::BaseModel
4414
+ attr_accessor type: :video
4415
+
4416
+ attr_accessor url: String
4417
+
4418
+ def initialize: (url: String, ?type: :video) -> void
4419
+
4420
+ def to_hash: -> { type: :video, url: String }
4421
+ end
4422
+
4423
+ type audio = { type: :audio, url: String }
4424
+
4425
+ class Audio < ModerationAPI::Internal::Type::BaseModel
4426
+ attr_accessor type: :audio
4427
+
4428
+ attr_accessor url: String
4429
+
4430
+ def initialize: (url: String, ?type: :audio) -> void
4431
+
4432
+ def to_hash: -> { type: :audio, url: String }
4433
+ end
4434
+
4435
+ type object =
4436
+ {
4437
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::data],
4438
+ type: :object
4439
+ }
4440
+
4441
+ class Object < ModerationAPI::Internal::Type::BaseModel
4442
+ attr_accessor data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::data]
4443
+
4444
+ attr_accessor type: :object
4445
+
4446
+ def initialize: (
4447
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::data],
4448
+ ?type: :object
4449
+ ) -> void
4450
+
4451
+ def to_hash: -> {
4452
+ data: ::Hash[Symbol, ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::data],
4453
+ type: :object
4454
+ }
4455
+
4456
+ type data =
4457
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::Data::Text
4458
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::Data::Image
4459
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::Data::Video
4460
+ | ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::Data::Audio
4461
+
4462
+ module Data
4463
+ extend ModerationAPI::Internal::Type::Union
4464
+
4465
+ type text = { text: String, type: :text }
4466
+
4467
+ class Text < ModerationAPI::Internal::Type::BaseModel
4468
+ attr_accessor text: String
4469
+
4470
+ attr_accessor type: :text
4471
+
4472
+ def initialize: (text: String, ?type: :text) -> void
4473
+
4474
+ def to_hash: -> { text: String, type: :text }
4475
+ end
4476
+
4477
+ type image = { type: :image, data: String, url: String }
4478
+
4479
+ class Image < ModerationAPI::Internal::Type::BaseModel
4480
+ attr_accessor type: :image
4481
+
4482
+ attr_reader data: String?
4483
+
4484
+ def data=: (String) -> String
4485
+
4486
+ attr_reader url: String?
4487
+
4488
+ def url=: (String) -> String
4489
+
4490
+ def initialize: (
4491
+ ?data: String,
4492
+ ?url: String,
4493
+ ?type: :image
4494
+ ) -> void
4495
+
4496
+ def to_hash: -> {
4497
+ type: :image,
4498
+ data: String,
4499
+ url: String
4500
+ }
4501
+ end
4502
+
4503
+ type video = { type: :video, url: String }
4504
+
4505
+ class Video < ModerationAPI::Internal::Type::BaseModel
4506
+ attr_accessor type: :video
4507
+
4508
+ attr_accessor url: String
4509
+
4510
+ def initialize: (url: String, ?type: :video) -> void
4511
+
4512
+ def to_hash: -> { type: :video, url: String }
4513
+ end
4514
+
4515
+ type audio = { type: :audio, url: String }
4516
+
4517
+ class Audio < ModerationAPI::Internal::Type::BaseModel
4518
+ attr_accessor type: :audio
4519
+
4520
+ attr_accessor url: String
4521
+
4522
+ def initialize: (url: String, ?type: :audio) -> void
4523
+
4524
+ def to_hash: -> { type: :audio, url: String }
4525
+ end
4526
+
4527
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::Content::Object::data]
4528
+ end
4529
+ end
4530
+
4531
+ def self?.variants: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::content]
4532
+ end
4533
+
4534
+ type label =
4535
+ {
4536
+ label: String,
4537
+ score: Float,
4538
+ flagged: bool,
4539
+ manual: bool,
4540
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4541
+ }
4542
+
4543
+ class Label < ModerationAPI::Internal::Type::BaseModel
4544
+ attr_accessor label: String
4545
+
4546
+ attr_accessor score: Float
4547
+
4548
+ attr_reader flagged: bool?
4549
+
4550
+ def flagged=: (bool) -> bool
4551
+
4552
+ attr_reader manual: bool?
4553
+
4554
+ def manual=: (bool) -> bool
4555
+
4556
+ attr_reader matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]?
4557
+
4558
+ def matches=: (
4559
+ ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4560
+ ) -> ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4561
+
4562
+ def initialize: (
4563
+ label: String,
4564
+ score: Float,
4565
+ ?flagged: bool,
4566
+ ?manual: bool,
4567
+ ?matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4568
+ ) -> void
4569
+
4570
+ def to_hash: -> {
4571
+ label: String,
4572
+ score: Float,
4573
+ flagged: bool,
4574
+ manual: bool,
4575
+ matches: ::Array[ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match]
4576
+ }
4577
+
4578
+ type match =
4579
+ {
4580
+ match: String,
4581
+ probability: Float,
4582
+ span: ::Array[top],
4583
+ entity_type: String,
4584
+ mask: String?,
4585
+ reasons: ::Array[String],
4586
+ signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4587
+ }
4588
+
4589
+ class Match < ModerationAPI::Internal::Type::BaseModel
4590
+ attr_accessor match: String
4591
+
4592
+ attr_accessor probability: Float
4593
+
4594
+ attr_accessor span: ::Array[top]
4595
+
4596
+ attr_reader entity_type: String?
4597
+
4598
+ def entity_type=: (String) -> String
4599
+
4600
+ attr_accessor mask: String?
4601
+
4602
+ attr_reader reasons: ::Array[String]?
4603
+
4604
+ def reasons=: (::Array[String]) -> ::Array[String]
4605
+
4606
+ attr_reader signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals?
4607
+
4608
+ def signals=: (
4609
+ ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4610
+ ) -> ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4611
+
4612
+ def initialize: (
4613
+ match: String,
4614
+ probability: Float,
4615
+ span: ::Array[top],
4616
+ ?entity_type: String,
4617
+ ?mask: String?,
4618
+ ?reasons: ::Array[String],
4619
+ ?signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4620
+ ) -> void
4621
+
4622
+ def to_hash: -> {
4623
+ match: String,
4624
+ probability: Float,
4625
+ span: ::Array[top],
4626
+ entity_type: String,
4627
+ mask: String?,
4628
+ reasons: ::Array[String],
4629
+ signals: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals
4630
+ }
4631
+
4632
+ type signals =
4633
+ {
4634
+ bot_protection: bool?,
4635
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
4636
+ domain_age_days: Float?,
4637
+ final_url: String?,
4638
+ has_email_setup: bool?,
4639
+ has_suspicious_characters: bool,
4640
+ is_link_shortener: bool,
4641
+ is_reported: bool,
4642
+ redirect_count: Float?
4643
+ }
4644
+
4645
+ class Signals < ModerationAPI::Internal::Type::BaseModel
4646
+ attr_accessor bot_protection: bool?
4647
+
4648
+ attr_accessor brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals::BrandImpersonation?
4649
+
4650
+ attr_accessor domain_age_days: Float?
4651
+
4652
+ attr_accessor final_url: String?
4653
+
4654
+ attr_accessor has_email_setup: bool?
4655
+
4656
+ attr_accessor has_suspicious_characters: bool
4657
+
4658
+ attr_accessor is_link_shortener: bool
4659
+
4660
+ attr_accessor is_reported: bool
4661
+
4662
+ attr_accessor redirect_count: Float?
4663
+
4664
+ def initialize: (
4665
+ bot_protection: bool?,
4666
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
4667
+ domain_age_days: Float?,
4668
+ final_url: String?,
4669
+ has_email_setup: bool?,
4670
+ has_suspicious_characters: bool,
4671
+ is_link_shortener: bool,
4672
+ is_reported: bool,
4673
+ redirect_count: Float?
4674
+ ) -> void
4675
+
4676
+ def to_hash: -> {
4677
+ bot_protection: bool?,
4678
+ brand_impersonation: ModerationAPI::WebhookEvent::QueueItemAllowed::Data::Object::Item::Label::Match::Signals::BrandImpersonation?,
4679
+ domain_age_days: Float?,
4680
+ final_url: String?,
4681
+ has_email_setup: bool?,
4682
+ has_suspicious_characters: bool,
4683
+ is_link_shortener: bool,
4684
+ is_reported: bool,
4685
+ redirect_count: Float?
4686
+ }
4687
+
4688
+ type brand_impersonation =
4689
+ { brand: String, method_: String }
4690
+
4691
+ class BrandImpersonation < ModerationAPI::Internal::Type::BaseModel
4692
+ attr_accessor brand: String
4693
+
4694
+ attr_accessor method_: String
4695
+
4696
+ def initialize: (brand: String, method_: String) -> void
4697
+
4698
+ def to_hash: -> { brand: String, method_: String }
4699
+ end
4700
+ end
4701
+ end
4702
+ end
4703
+
4704
+ type meta_type =
4705
+ :profile
4706
+ | :message
4707
+ | :post
4708
+ | :comment
4709
+ | :event
4710
+ | :product
4711
+ | :review
4712
+ | :other
4713
+
4714
+ module MetaType
4715
+ extend ModerationAPI::Internal::Type::Enum
4716
+
4717
+ PROFILE: :profile
4718
+ MESSAGE: :message
4719
+ POST: :post
4720
+ COMMENT: :comment
4721
+ EVENT: :event
4722
+ PRODUCT: :product
4723
+ REVIEW: :review
4724
+ OTHER: :other
4725
+
4726
+ def self?.values: -> ::Array[ModerationAPI::Models::WebhookEvent::QueueItemAllowed::Data::Object::Item::meta_type]
4727
+ end
4728
+ end
4729
+
4730
+ type queue = { id: String }
4731
+
4732
+ class Queue < ModerationAPI::Internal::Type::BaseModel
4733
+ attr_accessor id: String
4734
+
4735
+ def initialize: (id: String) -> void
4736
+
4737
+ def to_hash: -> { id: String }
4738
+ end
4739
+ end
4740
+ end
4741
+ end
4742
+
4743
+ def self?.variants: -> ::Array[ModerationAPI::Models::webhook_event]
4744
+ end
4745
+ end
4746
+ end