@crvouga/mockingbird-service-slack 1.8.0 → 2.0.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.
package/openapi.yaml ADDED
@@ -0,0 +1,1945 @@
1
+ openapi: 3.1.0
2
+ info:
3
+ title: Slack incoming webhooks and Web API (Mockingbird subset)
4
+ description: |
5
+ Stateful mock subset of Slack: incoming webhooks (`POST /services/T/B/X`) and the Web API
6
+ methods our apps call. Every message lands in an outbox a suite can assert on. Hand-authored
7
+ from Slack's documented wire shapes and the consumers (backend `postSlackWebhook`, EMR
8
+ `slack-web-api.ts`, request-intake `SlackClient`, release-conductor).
9
+ version: '1'
10
+ x-mockingbird-upstream:
11
+ note: Hand-authored from https://api.slack.com/methods and https://api.slack.com/messaging/webhooks
12
+ (Slack publishes no maintained OpenAPI for these methods).
13
+ servers:
14
+ - url: https://slack.com
15
+ - url: https://hooks.slack.com
16
+ security:
17
+ - bearerAuth: []
18
+ paths:
19
+ /services/{team}/{bot}/{secret}:
20
+ parameters:
21
+ - name: team
22
+ in: path
23
+ required: true
24
+ schema:
25
+ type: string
26
+ pattern: ^T[A-Z0-9]{2,12}$
27
+ - name: bot
28
+ in: path
29
+ required: true
30
+ schema:
31
+ type: string
32
+ pattern: ^B[A-Z0-9]{2,12}$
33
+ - name: secret
34
+ in: path
35
+ required: true
36
+ schema:
37
+ type: string
38
+ pattern: ^[A-Za-z0-9]{8,24}$
39
+ post:
40
+ operationId: PostIncomingWebhook
41
+ summary: 'Incoming webhook: post a message to the hook''s channel'
42
+ description: Answers `200 ok` (text/plain). Bad payloads get Slack's plain-text error codes (`invalid_payload`,
43
+ `no_text`, `invalid_blocks`); an unregistered hook is `404 no_service` once any hook is registered.
44
+ Also accepts form bodies with a `payload=<json>` field.
45
+ x-mockingbird:
46
+ supported: true
47
+ parity:
48
+ enabled: true
49
+ safe: false
50
+ requestBody:
51
+ required: true
52
+ content:
53
+ application/json:
54
+ schema:
55
+ type: object
56
+ properties:
57
+ text:
58
+ type: string
59
+ maxLength: 400
60
+ blocks:
61
+ type: array
62
+ maxItems: 3
63
+ items:
64
+ type: object
65
+ required:
66
+ - type
67
+ properties:
68
+ type:
69
+ type: string
70
+ enum:
71
+ - section
72
+ - divider
73
+ - header
74
+ - context
75
+ text:
76
+ type: object
77
+ properties:
78
+ type:
79
+ type: string
80
+ enum:
81
+ - mrkdwn
82
+ - plain_text
83
+ text:
84
+ type: string
85
+ maxLength: 200
86
+ thread_ts:
87
+ type: string
88
+ maxLength: 24
89
+ username:
90
+ type: string
91
+ maxLength: 40
92
+ icon_emoji:
93
+ type: string
94
+ maxLength: 40
95
+ unfurl_links:
96
+ type: boolean
97
+ responses:
98
+ '200':
99
+ description: Posted
100
+ content:
101
+ text/plain:
102
+ schema:
103
+ type: string
104
+ enum:
105
+ - ok
106
+ '400':
107
+ description: '`invalid_payload`, `no_text`, `invalid_blocks`, `too_many_attachments`'
108
+ content:
109
+ text/plain:
110
+ schema:
111
+ type: string
112
+ '403':
113
+ description: '`action_prohibited`, `posting_to_general_channel_denied`'
114
+ content:
115
+ text/plain:
116
+ schema:
117
+ type: string
118
+ '404':
119
+ description: '`no_service`, `channel_not_found`'
120
+ content:
121
+ text/plain:
122
+ schema:
123
+ type: string
124
+ '410':
125
+ description: '`channel_is_archived`'
126
+ content:
127
+ text/plain:
128
+ schema:
129
+ type: string
130
+ '429':
131
+ description: '`rate_limited`, with `retry-after`'
132
+ headers:
133
+ retry-after:
134
+ schema:
135
+ type: string
136
+ content:
137
+ text/plain:
138
+ schema:
139
+ type: string
140
+ '500':
141
+ description: '`internal_error`'
142
+ content:
143
+ text/plain:
144
+ schema:
145
+ type: string
146
+ '503':
147
+ description: '`service_unavailable`'
148
+ content:
149
+ text/plain:
150
+ schema:
151
+ type: string
152
+ security: []
153
+ /api/chat.postMessage:
154
+ post:
155
+ operationId: ChatPostMessage
156
+ summary: 'chat.postMessage: post a message (or a thread reply) to a channel'
157
+ x-mockingbird:
158
+ supported: true
159
+ parity:
160
+ enabled: true
161
+ safe: false
162
+ requestBody:
163
+ required: false
164
+ content:
165
+ application/x-www-form-urlencoded:
166
+ schema:
167
+ type: object
168
+ properties:
169
+ channel:
170
+ type: string
171
+ minLength: 1
172
+ maxLength: 40
173
+ description: Channel id (`C…`) or name (`#alerts`)
174
+ text:
175
+ type: string
176
+ maxLength: 400
177
+ blocks:
178
+ type: string
179
+ description: JSON-encoded blocks
180
+ maxLength: 2000
181
+ thread_ts:
182
+ type: string
183
+ maxLength: 24
184
+ x-mockingbird-resource-ref:
185
+ type: message
186
+ missing: '1000000000.000000'
187
+ required:
188
+ - channel
189
+ application/json:
190
+ schema:
191
+ type: object
192
+ properties:
193
+ channel:
194
+ type: string
195
+ minLength: 1
196
+ maxLength: 40
197
+ description: Channel id (`C…`) or name (`#alerts`)
198
+ text:
199
+ type: string
200
+ maxLength: 400
201
+ blocks:
202
+ type: array
203
+ maxItems: 3
204
+ items:
205
+ type: object
206
+ required:
207
+ - type
208
+ properties:
209
+ type:
210
+ type: string
211
+ enum:
212
+ - section
213
+ - divider
214
+ - header
215
+ - context
216
+ text:
217
+ type: object
218
+ properties:
219
+ type:
220
+ type: string
221
+ enum:
222
+ - mrkdwn
223
+ - plain_text
224
+ text:
225
+ type: string
226
+ maxLength: 200
227
+ thread_ts:
228
+ type: string
229
+ maxLength: 24
230
+ x-mockingbird-resource-ref:
231
+ type: message
232
+ missing: '1000000000.000000'
233
+ mrkdwn:
234
+ type: boolean
235
+ unfurl_links:
236
+ type: boolean
237
+ required:
238
+ - channel
239
+ responses:
240
+ '200':
241
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
242
+ code (Slack answers logical failures with HTTP 200)'
243
+ content:
244
+ application/json:
245
+ schema:
246
+ $ref: '#/components/schemas/PostMessageResponse'
247
+ '429':
248
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
249
+ headers:
250
+ retry-after:
251
+ schema:
252
+ type: string
253
+ content:
254
+ application/json:
255
+ schema:
256
+ $ref: '#/components/schemas/ErrorEnvelope'
257
+ '500':
258
+ description: Slack is having trouble
259
+ content:
260
+ application/json:
261
+ schema:
262
+ $ref: '#/components/schemas/ErrorEnvelope'
263
+ '503':
264
+ description: Slack is unavailable
265
+ content:
266
+ application/json:
267
+ schema:
268
+ $ref: '#/components/schemas/ErrorEnvelope'
269
+ /api/chat.update:
270
+ post:
271
+ operationId: ChatUpdate
272
+ summary: 'chat.update: edit a message the bot posted'
273
+ x-mockingbird:
274
+ supported: true
275
+ parity:
276
+ enabled: true
277
+ safe: false
278
+ requestBody:
279
+ required: false
280
+ content:
281
+ application/x-www-form-urlencoded:
282
+ schema:
283
+ type: object
284
+ properties:
285
+ channel:
286
+ type: string
287
+ minLength: 1
288
+ maxLength: 40
289
+ description: Channel id (`C…`) or name (`#alerts`)
290
+ ts:
291
+ type: string
292
+ maxLength: 24
293
+ x-mockingbird-resource-ref:
294
+ type: message
295
+ missing: '1000000000.000000'
296
+ text:
297
+ type: string
298
+ maxLength: 400
299
+ required:
300
+ - channel
301
+ - ts
302
+ application/json:
303
+ schema:
304
+ type: object
305
+ properties:
306
+ channel:
307
+ type: string
308
+ minLength: 1
309
+ maxLength: 40
310
+ description: Channel id (`C…`) or name (`#alerts`)
311
+ ts:
312
+ type: string
313
+ maxLength: 24
314
+ x-mockingbird-resource-ref:
315
+ type: message
316
+ missing: '1000000000.000000'
317
+ text:
318
+ type: string
319
+ maxLength: 400
320
+ blocks:
321
+ type: array
322
+ maxItems: 3
323
+ items:
324
+ type: object
325
+ required:
326
+ - type
327
+ properties:
328
+ type:
329
+ type: string
330
+ enum:
331
+ - section
332
+ - divider
333
+ - header
334
+ - context
335
+ text:
336
+ type: object
337
+ properties:
338
+ type:
339
+ type: string
340
+ enum:
341
+ - mrkdwn
342
+ - plain_text
343
+ text:
344
+ type: string
345
+ maxLength: 200
346
+ required:
347
+ - channel
348
+ - ts
349
+ responses:
350
+ '200':
351
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
352
+ code (Slack answers logical failures with HTTP 200)'
353
+ content:
354
+ application/json:
355
+ schema:
356
+ $ref: '#/components/schemas/UpdateResponse'
357
+ '429':
358
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
359
+ headers:
360
+ retry-after:
361
+ schema:
362
+ type: string
363
+ content:
364
+ application/json:
365
+ schema:
366
+ $ref: '#/components/schemas/ErrorEnvelope'
367
+ '500':
368
+ description: Slack is having trouble
369
+ content:
370
+ application/json:
371
+ schema:
372
+ $ref: '#/components/schemas/ErrorEnvelope'
373
+ '503':
374
+ description: Slack is unavailable
375
+ content:
376
+ application/json:
377
+ schema:
378
+ $ref: '#/components/schemas/ErrorEnvelope'
379
+ /api/chat.postEphemeral:
380
+ post:
381
+ operationId: ChatPostEphemeral
382
+ summary: 'chat.postEphemeral: a message only one user sees'
383
+ x-mockingbird:
384
+ supported: true
385
+ parity:
386
+ enabled: true
387
+ safe: false
388
+ requestBody:
389
+ required: false
390
+ content:
391
+ application/x-www-form-urlencoded:
392
+ schema:
393
+ type: object
394
+ properties:
395
+ channel:
396
+ type: string
397
+ minLength: 1
398
+ maxLength: 40
399
+ description: Channel id (`C…`) or name (`#alerts`)
400
+ user:
401
+ type: string
402
+ minLength: 1
403
+ maxLength: 20
404
+ x-mockingbird-resource-ref:
405
+ type: user
406
+ missing: U00MISSING
407
+ text:
408
+ type: string
409
+ maxLength: 400
410
+ required:
411
+ - channel
412
+ - user
413
+ application/json:
414
+ schema:
415
+ type: object
416
+ properties:
417
+ channel:
418
+ type: string
419
+ minLength: 1
420
+ maxLength: 40
421
+ description: Channel id (`C…`) or name (`#alerts`)
422
+ user:
423
+ type: string
424
+ minLength: 1
425
+ maxLength: 20
426
+ x-mockingbird-resource-ref:
427
+ type: user
428
+ missing: U00MISSING
429
+ text:
430
+ type: string
431
+ maxLength: 400
432
+ blocks:
433
+ type: array
434
+ maxItems: 3
435
+ items:
436
+ type: object
437
+ required:
438
+ - type
439
+ properties:
440
+ type:
441
+ type: string
442
+ enum:
443
+ - section
444
+ - divider
445
+ - header
446
+ - context
447
+ text:
448
+ type: object
449
+ properties:
450
+ type:
451
+ type: string
452
+ enum:
453
+ - mrkdwn
454
+ - plain_text
455
+ text:
456
+ type: string
457
+ maxLength: 200
458
+ thread_ts:
459
+ type: string
460
+ maxLength: 24
461
+ x-mockingbird-resource-ref:
462
+ type: message
463
+ missing: '1000000000.000000'
464
+ required:
465
+ - channel
466
+ - user
467
+ responses:
468
+ '200':
469
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
470
+ code (Slack answers logical failures with HTTP 200)'
471
+ content:
472
+ application/json:
473
+ schema:
474
+ $ref: '#/components/schemas/EphemeralResponse'
475
+ '429':
476
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
477
+ headers:
478
+ retry-after:
479
+ schema:
480
+ type: string
481
+ content:
482
+ application/json:
483
+ schema:
484
+ $ref: '#/components/schemas/ErrorEnvelope'
485
+ '500':
486
+ description: Slack is having trouble
487
+ content:
488
+ application/json:
489
+ schema:
490
+ $ref: '#/components/schemas/ErrorEnvelope'
491
+ '503':
492
+ description: Slack is unavailable
493
+ content:
494
+ application/json:
495
+ schema:
496
+ $ref: '#/components/schemas/ErrorEnvelope'
497
+ /api/chat.getPermalink:
498
+ get:
499
+ operationId: ChatGetPermalinkGet
500
+ summary: chat.getPermalink (query arguments)
501
+ x-mockingbird:
502
+ supported: true
503
+ parity:
504
+ enabled: true
505
+ safe: true
506
+ parameters:
507
+ - name: channel
508
+ in: query
509
+ required: false
510
+ schema:
511
+ type: string
512
+ minLength: 1
513
+ maxLength: 40
514
+ description: Channel id (`C…`) or name (`#alerts`)
515
+ - name: message_ts
516
+ in: query
517
+ required: false
518
+ schema:
519
+ type: string
520
+ maxLength: 24
521
+ x-mockingbird-resource-ref:
522
+ type: message
523
+ missing: '1000000000.000000'
524
+ responses:
525
+ '200':
526
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
527
+ code (Slack answers logical failures with HTTP 200)'
528
+ content:
529
+ application/json:
530
+ schema:
531
+ $ref: '#/components/schemas/PermalinkResponse'
532
+ '429':
533
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
534
+ headers:
535
+ retry-after:
536
+ schema:
537
+ type: string
538
+ content:
539
+ application/json:
540
+ schema:
541
+ $ref: '#/components/schemas/ErrorEnvelope'
542
+ '500':
543
+ description: Slack is having trouble
544
+ content:
545
+ application/json:
546
+ schema:
547
+ $ref: '#/components/schemas/ErrorEnvelope'
548
+ '503':
549
+ description: Slack is unavailable
550
+ content:
551
+ application/json:
552
+ schema:
553
+ $ref: '#/components/schemas/ErrorEnvelope'
554
+ post:
555
+ operationId: ChatGetPermalink
556
+ summary: 'chat.getPermalink: the permalink of a message'
557
+ x-mockingbird:
558
+ supported: true
559
+ parity:
560
+ enabled: true
561
+ safe: true
562
+ requestBody:
563
+ required: false
564
+ content:
565
+ application/x-www-form-urlencoded:
566
+ schema:
567
+ type: object
568
+ properties:
569
+ channel:
570
+ type: string
571
+ minLength: 1
572
+ maxLength: 40
573
+ description: Channel id (`C…`) or name (`#alerts`)
574
+ message_ts:
575
+ type: string
576
+ maxLength: 24
577
+ x-mockingbird-resource-ref:
578
+ type: message
579
+ missing: '1000000000.000000'
580
+ required:
581
+ - channel
582
+ - message_ts
583
+ application/json:
584
+ schema:
585
+ type: object
586
+ properties:
587
+ channel:
588
+ type: string
589
+ minLength: 1
590
+ maxLength: 40
591
+ description: Channel id (`C…`) or name (`#alerts`)
592
+ message_ts:
593
+ type: string
594
+ maxLength: 24
595
+ x-mockingbird-resource-ref:
596
+ type: message
597
+ missing: '1000000000.000000'
598
+ required:
599
+ - channel
600
+ - message_ts
601
+ responses:
602
+ '200':
603
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
604
+ code (Slack answers logical failures with HTTP 200)'
605
+ content:
606
+ application/json:
607
+ schema:
608
+ $ref: '#/components/schemas/PermalinkResponse'
609
+ '429':
610
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
611
+ headers:
612
+ retry-after:
613
+ schema:
614
+ type: string
615
+ content:
616
+ application/json:
617
+ schema:
618
+ $ref: '#/components/schemas/ErrorEnvelope'
619
+ '500':
620
+ description: Slack is having trouble
621
+ content:
622
+ application/json:
623
+ schema:
624
+ $ref: '#/components/schemas/ErrorEnvelope'
625
+ '503':
626
+ description: Slack is unavailable
627
+ content:
628
+ application/json:
629
+ schema:
630
+ $ref: '#/components/schemas/ErrorEnvelope'
631
+ /api/reactions.add:
632
+ post:
633
+ operationId: ReactionsAdd
634
+ summary: 'reactions.add: react to a message'
635
+ x-mockingbird:
636
+ supported: true
637
+ parity:
638
+ enabled: true
639
+ safe: false
640
+ requestBody:
641
+ required: false
642
+ content:
643
+ application/x-www-form-urlencoded:
644
+ schema:
645
+ type: object
646
+ properties:
647
+ channel:
648
+ type: string
649
+ minLength: 1
650
+ maxLength: 40
651
+ description: Channel id (`C…`) or name (`#alerts`)
652
+ timestamp:
653
+ type: string
654
+ maxLength: 24
655
+ x-mockingbird-resource-ref:
656
+ type: message
657
+ missing: '1000000000.000000'
658
+ name:
659
+ type: string
660
+ enum:
661
+ - eyes
662
+ - white_check_mark
663
+ - x
664
+ - thumbsup
665
+ - rotating_light
666
+ required:
667
+ - channel
668
+ - timestamp
669
+ - name
670
+ application/json:
671
+ schema:
672
+ type: object
673
+ properties:
674
+ channel:
675
+ type: string
676
+ minLength: 1
677
+ maxLength: 40
678
+ description: Channel id (`C…`) or name (`#alerts`)
679
+ timestamp:
680
+ type: string
681
+ maxLength: 24
682
+ x-mockingbird-resource-ref:
683
+ type: message
684
+ missing: '1000000000.000000'
685
+ name:
686
+ type: string
687
+ enum:
688
+ - eyes
689
+ - white_check_mark
690
+ - x
691
+ - thumbsup
692
+ - rotating_light
693
+ required:
694
+ - channel
695
+ - timestamp
696
+ - name
697
+ responses:
698
+ '200':
699
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
700
+ code (Slack answers logical failures with HTTP 200)'
701
+ content:
702
+ application/json:
703
+ schema:
704
+ $ref: '#/components/schemas/Envelope'
705
+ '429':
706
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
707
+ headers:
708
+ retry-after:
709
+ schema:
710
+ type: string
711
+ content:
712
+ application/json:
713
+ schema:
714
+ $ref: '#/components/schemas/ErrorEnvelope'
715
+ '500':
716
+ description: Slack is having trouble
717
+ content:
718
+ application/json:
719
+ schema:
720
+ $ref: '#/components/schemas/ErrorEnvelope'
721
+ '503':
722
+ description: Slack is unavailable
723
+ content:
724
+ application/json:
725
+ schema:
726
+ $ref: '#/components/schemas/ErrorEnvelope'
727
+ /api/reactions.remove:
728
+ post:
729
+ operationId: ReactionsRemove
730
+ summary: 'reactions.remove: take a reaction back'
731
+ x-mockingbird:
732
+ supported: true
733
+ parity:
734
+ enabled: true
735
+ safe: false
736
+ requestBody:
737
+ required: false
738
+ content:
739
+ application/x-www-form-urlencoded:
740
+ schema:
741
+ type: object
742
+ properties:
743
+ channel:
744
+ type: string
745
+ minLength: 1
746
+ maxLength: 40
747
+ description: Channel id (`C…`) or name (`#alerts`)
748
+ timestamp:
749
+ type: string
750
+ maxLength: 24
751
+ x-mockingbird-resource-ref:
752
+ type: message
753
+ missing: '1000000000.000000'
754
+ name:
755
+ type: string
756
+ enum:
757
+ - eyes
758
+ - white_check_mark
759
+ - x
760
+ - thumbsup
761
+ - rotating_light
762
+ required:
763
+ - name
764
+ application/json:
765
+ schema:
766
+ type: object
767
+ properties:
768
+ channel:
769
+ type: string
770
+ minLength: 1
771
+ maxLength: 40
772
+ description: Channel id (`C…`) or name (`#alerts`)
773
+ timestamp:
774
+ type: string
775
+ maxLength: 24
776
+ x-mockingbird-resource-ref:
777
+ type: message
778
+ missing: '1000000000.000000'
779
+ name:
780
+ type: string
781
+ enum:
782
+ - eyes
783
+ - white_check_mark
784
+ - x
785
+ - thumbsup
786
+ - rotating_light
787
+ required:
788
+ - name
789
+ responses:
790
+ '200':
791
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
792
+ code (Slack answers logical failures with HTTP 200)'
793
+ content:
794
+ application/json:
795
+ schema:
796
+ $ref: '#/components/schemas/Envelope'
797
+ '429':
798
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
799
+ headers:
800
+ retry-after:
801
+ schema:
802
+ type: string
803
+ content:
804
+ application/json:
805
+ schema:
806
+ $ref: '#/components/schemas/ErrorEnvelope'
807
+ '500':
808
+ description: Slack is having trouble
809
+ content:
810
+ application/json:
811
+ schema:
812
+ $ref: '#/components/schemas/ErrorEnvelope'
813
+ '503':
814
+ description: Slack is unavailable
815
+ content:
816
+ application/json:
817
+ schema:
818
+ $ref: '#/components/schemas/ErrorEnvelope'
819
+ /api/reactions.get:
820
+ get:
821
+ operationId: ReactionsGetGet
822
+ summary: reactions.get (query arguments)
823
+ x-mockingbird:
824
+ supported: true
825
+ parity:
826
+ enabled: true
827
+ safe: true
828
+ parameters:
829
+ - name: channel
830
+ in: query
831
+ required: false
832
+ schema:
833
+ type: string
834
+ minLength: 1
835
+ maxLength: 40
836
+ description: Channel id (`C…`) or name (`#alerts`)
837
+ - name: timestamp
838
+ in: query
839
+ required: false
840
+ schema:
841
+ type: string
842
+ maxLength: 24
843
+ x-mockingbird-resource-ref:
844
+ type: message
845
+ missing: '1000000000.000000'
846
+ - name: full
847
+ in: query
848
+ required: false
849
+ schema:
850
+ type: string
851
+ enum:
852
+ - 'true'
853
+ - 'false'
854
+ responses:
855
+ '200':
856
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
857
+ code (Slack answers logical failures with HTTP 200)'
858
+ content:
859
+ application/json:
860
+ schema:
861
+ $ref: '#/components/schemas/ReactionsGetResponse'
862
+ '429':
863
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
864
+ headers:
865
+ retry-after:
866
+ schema:
867
+ type: string
868
+ content:
869
+ application/json:
870
+ schema:
871
+ $ref: '#/components/schemas/ErrorEnvelope'
872
+ '500':
873
+ description: Slack is having trouble
874
+ content:
875
+ application/json:
876
+ schema:
877
+ $ref: '#/components/schemas/ErrorEnvelope'
878
+ '503':
879
+ description: Slack is unavailable
880
+ content:
881
+ application/json:
882
+ schema:
883
+ $ref: '#/components/schemas/ErrorEnvelope'
884
+ post:
885
+ operationId: ReactionsGet
886
+ summary: 'reactions.get: a message and its reactions'
887
+ x-mockingbird:
888
+ supported: true
889
+ parity:
890
+ enabled: true
891
+ safe: true
892
+ requestBody:
893
+ required: false
894
+ content:
895
+ application/x-www-form-urlencoded:
896
+ schema:
897
+ type: object
898
+ properties:
899
+ channel:
900
+ type: string
901
+ minLength: 1
902
+ maxLength: 40
903
+ description: Channel id (`C…`) or name (`#alerts`)
904
+ timestamp:
905
+ type: string
906
+ maxLength: 24
907
+ x-mockingbird-resource-ref:
908
+ type: message
909
+ missing: '1000000000.000000'
910
+ full:
911
+ type: string
912
+ enum:
913
+ - 'true'
914
+ - 'false'
915
+ required:
916
+ - channel
917
+ - timestamp
918
+ application/json:
919
+ schema:
920
+ type: object
921
+ properties:
922
+ channel:
923
+ type: string
924
+ minLength: 1
925
+ maxLength: 40
926
+ description: Channel id (`C…`) or name (`#alerts`)
927
+ timestamp:
928
+ type: string
929
+ maxLength: 24
930
+ x-mockingbird-resource-ref:
931
+ type: message
932
+ missing: '1000000000.000000'
933
+ full:
934
+ type: boolean
935
+ required:
936
+ - channel
937
+ - timestamp
938
+ responses:
939
+ '200':
940
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
941
+ code (Slack answers logical failures with HTTP 200)'
942
+ content:
943
+ application/json:
944
+ schema:
945
+ $ref: '#/components/schemas/ReactionsGetResponse'
946
+ '429':
947
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
948
+ headers:
949
+ retry-after:
950
+ schema:
951
+ type: string
952
+ content:
953
+ application/json:
954
+ schema:
955
+ $ref: '#/components/schemas/ErrorEnvelope'
956
+ '500':
957
+ description: Slack is having trouble
958
+ content:
959
+ application/json:
960
+ schema:
961
+ $ref: '#/components/schemas/ErrorEnvelope'
962
+ '503':
963
+ description: Slack is unavailable
964
+ content:
965
+ application/json:
966
+ schema:
967
+ $ref: '#/components/schemas/ErrorEnvelope'
968
+ /api/auth.test:
969
+ get:
970
+ operationId: AuthTestGet
971
+ summary: auth.test (GET)
972
+ x-mockingbird:
973
+ supported: true
974
+ parity:
975
+ enabled: true
976
+ safe: true
977
+ parameters: []
978
+ responses:
979
+ '200':
980
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
981
+ code (Slack answers logical failures with HTTP 200)'
982
+ content:
983
+ application/json:
984
+ schema:
985
+ $ref: '#/components/schemas/AuthTestResponse'
986
+ '429':
987
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
988
+ headers:
989
+ retry-after:
990
+ schema:
991
+ type: string
992
+ content:
993
+ application/json:
994
+ schema:
995
+ $ref: '#/components/schemas/ErrorEnvelope'
996
+ '500':
997
+ description: Slack is having trouble
998
+ content:
999
+ application/json:
1000
+ schema:
1001
+ $ref: '#/components/schemas/ErrorEnvelope'
1002
+ '503':
1003
+ description: Slack is unavailable
1004
+ content:
1005
+ application/json:
1006
+ schema:
1007
+ $ref: '#/components/schemas/ErrorEnvelope'
1008
+ post:
1009
+ operationId: AuthTest
1010
+ summary: 'auth.test: who the token belongs to'
1011
+ x-mockingbird:
1012
+ supported: true
1013
+ parity:
1014
+ enabled: true
1015
+ safe: true
1016
+ requestBody:
1017
+ required: false
1018
+ content:
1019
+ application/x-www-form-urlencoded:
1020
+ schema:
1021
+ type: object
1022
+ properties: {}
1023
+ application/json:
1024
+ schema:
1025
+ type: object
1026
+ properties: {}
1027
+ responses:
1028
+ '200':
1029
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1030
+ code (Slack answers logical failures with HTTP 200)'
1031
+ content:
1032
+ application/json:
1033
+ schema:
1034
+ $ref: '#/components/schemas/AuthTestResponse'
1035
+ '429':
1036
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1037
+ headers:
1038
+ retry-after:
1039
+ schema:
1040
+ type: string
1041
+ content:
1042
+ application/json:
1043
+ schema:
1044
+ $ref: '#/components/schemas/ErrorEnvelope'
1045
+ '500':
1046
+ description: Slack is having trouble
1047
+ content:
1048
+ application/json:
1049
+ schema:
1050
+ $ref: '#/components/schemas/ErrorEnvelope'
1051
+ '503':
1052
+ description: Slack is unavailable
1053
+ content:
1054
+ application/json:
1055
+ schema:
1056
+ $ref: '#/components/schemas/ErrorEnvelope'
1057
+ /api/conversations.join:
1058
+ post:
1059
+ operationId: ConversationsJoin
1060
+ summary: 'conversations.join: the bot joins a public channel'
1061
+ x-mockingbird:
1062
+ supported: true
1063
+ parity:
1064
+ enabled: true
1065
+ safe: false
1066
+ requestBody:
1067
+ required: false
1068
+ content:
1069
+ application/x-www-form-urlencoded:
1070
+ schema:
1071
+ type: object
1072
+ properties:
1073
+ channel:
1074
+ type: string
1075
+ minLength: 1
1076
+ maxLength: 40
1077
+ description: Channel id (`C…`) or name (`#alerts`)
1078
+ required:
1079
+ - channel
1080
+ application/json:
1081
+ schema:
1082
+ type: object
1083
+ properties:
1084
+ channel:
1085
+ type: string
1086
+ minLength: 1
1087
+ maxLength: 40
1088
+ description: Channel id (`C…`) or name (`#alerts`)
1089
+ required:
1090
+ - channel
1091
+ responses:
1092
+ '200':
1093
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1094
+ code (Slack answers logical failures with HTTP 200)'
1095
+ content:
1096
+ application/json:
1097
+ schema:
1098
+ $ref: '#/components/schemas/JoinResponse'
1099
+ '429':
1100
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1101
+ headers:
1102
+ retry-after:
1103
+ schema:
1104
+ type: string
1105
+ content:
1106
+ application/json:
1107
+ schema:
1108
+ $ref: '#/components/schemas/ErrorEnvelope'
1109
+ '500':
1110
+ description: Slack is having trouble
1111
+ content:
1112
+ application/json:
1113
+ schema:
1114
+ $ref: '#/components/schemas/ErrorEnvelope'
1115
+ '503':
1116
+ description: Slack is unavailable
1117
+ content:
1118
+ application/json:
1119
+ schema:
1120
+ $ref: '#/components/schemas/ErrorEnvelope'
1121
+ /api/users.info:
1122
+ get:
1123
+ operationId: UsersInfoGet
1124
+ summary: users.info (query arguments)
1125
+ x-mockingbird:
1126
+ supported: true
1127
+ parity:
1128
+ enabled: true
1129
+ safe: true
1130
+ parameters:
1131
+ - name: user
1132
+ in: query
1133
+ required: false
1134
+ schema:
1135
+ type: string
1136
+ minLength: 1
1137
+ maxLength: 20
1138
+ x-mockingbird-resource-ref:
1139
+ type: user
1140
+ missing: U00MISSING
1141
+ responses:
1142
+ '200':
1143
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1144
+ code (Slack answers logical failures with HTTP 200)'
1145
+ content:
1146
+ application/json:
1147
+ schema:
1148
+ $ref: '#/components/schemas/UserResponse'
1149
+ '429':
1150
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1151
+ headers:
1152
+ retry-after:
1153
+ schema:
1154
+ type: string
1155
+ content:
1156
+ application/json:
1157
+ schema:
1158
+ $ref: '#/components/schemas/ErrorEnvelope'
1159
+ '500':
1160
+ description: Slack is having trouble
1161
+ content:
1162
+ application/json:
1163
+ schema:
1164
+ $ref: '#/components/schemas/ErrorEnvelope'
1165
+ '503':
1166
+ description: Slack is unavailable
1167
+ content:
1168
+ application/json:
1169
+ schema:
1170
+ $ref: '#/components/schemas/ErrorEnvelope'
1171
+ post:
1172
+ operationId: UsersInfo
1173
+ summary: 'users.info: a user''s profile'
1174
+ x-mockingbird:
1175
+ supported: true
1176
+ parity:
1177
+ enabled: true
1178
+ safe: true
1179
+ requestBody:
1180
+ required: false
1181
+ content:
1182
+ application/x-www-form-urlencoded:
1183
+ schema:
1184
+ type: object
1185
+ properties:
1186
+ user:
1187
+ type: string
1188
+ minLength: 1
1189
+ maxLength: 20
1190
+ x-mockingbird-resource-ref:
1191
+ type: user
1192
+ missing: U00MISSING
1193
+ required:
1194
+ - user
1195
+ application/json:
1196
+ schema:
1197
+ type: object
1198
+ properties:
1199
+ user:
1200
+ type: string
1201
+ minLength: 1
1202
+ maxLength: 20
1203
+ x-mockingbird-resource-ref:
1204
+ type: user
1205
+ missing: U00MISSING
1206
+ required:
1207
+ - user
1208
+ responses:
1209
+ '200':
1210
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1211
+ code (Slack answers logical failures with HTTP 200)'
1212
+ content:
1213
+ application/json:
1214
+ schema:
1215
+ $ref: '#/components/schemas/UserResponse'
1216
+ '429':
1217
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1218
+ headers:
1219
+ retry-after:
1220
+ schema:
1221
+ type: string
1222
+ content:
1223
+ application/json:
1224
+ schema:
1225
+ $ref: '#/components/schemas/ErrorEnvelope'
1226
+ '500':
1227
+ description: Slack is having trouble
1228
+ content:
1229
+ application/json:
1230
+ schema:
1231
+ $ref: '#/components/schemas/ErrorEnvelope'
1232
+ '503':
1233
+ description: Slack is unavailable
1234
+ content:
1235
+ application/json:
1236
+ schema:
1237
+ $ref: '#/components/schemas/ErrorEnvelope'
1238
+ /api/users.lookupByEmail:
1239
+ get:
1240
+ operationId: UsersLookupByEmailGet
1241
+ summary: users.lookupByEmail (query arguments)
1242
+ x-mockingbird:
1243
+ supported: true
1244
+ parity:
1245
+ enabled: true
1246
+ safe: true
1247
+ parameters:
1248
+ - name: email
1249
+ in: query
1250
+ required: false
1251
+ schema:
1252
+ type: string
1253
+ format: email
1254
+ maxLength: 80
1255
+ responses:
1256
+ '200':
1257
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1258
+ code (Slack answers logical failures with HTTP 200)'
1259
+ content:
1260
+ application/json:
1261
+ schema:
1262
+ $ref: '#/components/schemas/UserResponse'
1263
+ '429':
1264
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1265
+ headers:
1266
+ retry-after:
1267
+ schema:
1268
+ type: string
1269
+ content:
1270
+ application/json:
1271
+ schema:
1272
+ $ref: '#/components/schemas/ErrorEnvelope'
1273
+ '500':
1274
+ description: Slack is having trouble
1275
+ content:
1276
+ application/json:
1277
+ schema:
1278
+ $ref: '#/components/schemas/ErrorEnvelope'
1279
+ '503':
1280
+ description: Slack is unavailable
1281
+ content:
1282
+ application/json:
1283
+ schema:
1284
+ $ref: '#/components/schemas/ErrorEnvelope'
1285
+ post:
1286
+ operationId: UsersLookupByEmail
1287
+ summary: 'users.lookupByEmail: find a user by email'
1288
+ x-mockingbird:
1289
+ supported: true
1290
+ parity:
1291
+ enabled: true
1292
+ safe: true
1293
+ requestBody:
1294
+ required: false
1295
+ content:
1296
+ application/x-www-form-urlencoded:
1297
+ schema:
1298
+ type: object
1299
+ properties:
1300
+ email:
1301
+ type: string
1302
+ format: email
1303
+ maxLength: 80
1304
+ required:
1305
+ - email
1306
+ application/json:
1307
+ schema:
1308
+ type: object
1309
+ properties:
1310
+ email:
1311
+ type: string
1312
+ format: email
1313
+ maxLength: 80
1314
+ required:
1315
+ - email
1316
+ responses:
1317
+ '200':
1318
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1319
+ code (Slack answers logical failures with HTTP 200)'
1320
+ content:
1321
+ application/json:
1322
+ schema:
1323
+ $ref: '#/components/schemas/UserResponse'
1324
+ '429':
1325
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1326
+ headers:
1327
+ retry-after:
1328
+ schema:
1329
+ type: string
1330
+ content:
1331
+ application/json:
1332
+ schema:
1333
+ $ref: '#/components/schemas/ErrorEnvelope'
1334
+ '500':
1335
+ description: Slack is having trouble
1336
+ content:
1337
+ application/json:
1338
+ schema:
1339
+ $ref: '#/components/schemas/ErrorEnvelope'
1340
+ '503':
1341
+ description: Slack is unavailable
1342
+ content:
1343
+ application/json:
1344
+ schema:
1345
+ $ref: '#/components/schemas/ErrorEnvelope'
1346
+ /api/files.info:
1347
+ get:
1348
+ operationId: FilesInfoGet
1349
+ summary: files.info (query arguments)
1350
+ x-mockingbird:
1351
+ supported: true
1352
+ parity:
1353
+ enabled: true
1354
+ safe: true
1355
+ parameters:
1356
+ - name: file
1357
+ in: query
1358
+ required: false
1359
+ schema:
1360
+ type: string
1361
+ minLength: 1
1362
+ maxLength: 20
1363
+ x-mockingbird-resource-ref:
1364
+ type: file
1365
+ missing: F00MISSING
1366
+ responses:
1367
+ '200':
1368
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1369
+ code (Slack answers logical failures with HTTP 200)'
1370
+ content:
1371
+ application/json:
1372
+ schema:
1373
+ $ref: '#/components/schemas/FileResponse'
1374
+ '429':
1375
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1376
+ headers:
1377
+ retry-after:
1378
+ schema:
1379
+ type: string
1380
+ content:
1381
+ application/json:
1382
+ schema:
1383
+ $ref: '#/components/schemas/ErrorEnvelope'
1384
+ '500':
1385
+ description: Slack is having trouble
1386
+ content:
1387
+ application/json:
1388
+ schema:
1389
+ $ref: '#/components/schemas/ErrorEnvelope'
1390
+ '503':
1391
+ description: Slack is unavailable
1392
+ content:
1393
+ application/json:
1394
+ schema:
1395
+ $ref: '#/components/schemas/ErrorEnvelope'
1396
+ post:
1397
+ operationId: FilesInfo
1398
+ summary: 'files.info: a file''s metadata and private download URL'
1399
+ x-mockingbird:
1400
+ supported: true
1401
+ parity:
1402
+ enabled: true
1403
+ safe: true
1404
+ requestBody:
1405
+ required: false
1406
+ content:
1407
+ application/x-www-form-urlencoded:
1408
+ schema:
1409
+ type: object
1410
+ properties:
1411
+ file:
1412
+ type: string
1413
+ minLength: 1
1414
+ maxLength: 20
1415
+ x-mockingbird-resource-ref:
1416
+ type: file
1417
+ missing: F00MISSING
1418
+ required:
1419
+ - file
1420
+ application/json:
1421
+ schema:
1422
+ type: object
1423
+ properties:
1424
+ file:
1425
+ type: string
1426
+ minLength: 1
1427
+ maxLength: 20
1428
+ x-mockingbird-resource-ref:
1429
+ type: file
1430
+ missing: F00MISSING
1431
+ required:
1432
+ - file
1433
+ responses:
1434
+ '200':
1435
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1436
+ code (Slack answers logical failures with HTTP 200)'
1437
+ content:
1438
+ application/json:
1439
+ schema:
1440
+ $ref: '#/components/schemas/FileResponse'
1441
+ '429':
1442
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1443
+ headers:
1444
+ retry-after:
1445
+ schema:
1446
+ type: string
1447
+ content:
1448
+ application/json:
1449
+ schema:
1450
+ $ref: '#/components/schemas/ErrorEnvelope'
1451
+ '500':
1452
+ description: Slack is having trouble
1453
+ content:
1454
+ application/json:
1455
+ schema:
1456
+ $ref: '#/components/schemas/ErrorEnvelope'
1457
+ '503':
1458
+ description: Slack is unavailable
1459
+ content:
1460
+ application/json:
1461
+ schema:
1462
+ $ref: '#/components/schemas/ErrorEnvelope'
1463
+ /api/views.open:
1464
+ post:
1465
+ operationId: ViewsOpen
1466
+ summary: 'views.open: open a modal for a trigger'
1467
+ x-mockingbird:
1468
+ supported: true
1469
+ parity:
1470
+ enabled: true
1471
+ safe: false
1472
+ requestBody:
1473
+ required: false
1474
+ content:
1475
+ application/x-www-form-urlencoded:
1476
+ schema:
1477
+ type: object
1478
+ properties:
1479
+ trigger_id:
1480
+ type: string
1481
+ minLength: 1
1482
+ maxLength: 40
1483
+ view:
1484
+ type: string
1485
+ description: JSON-encoded view
1486
+ maxLength: 2000
1487
+ required:
1488
+ - trigger_id
1489
+ - view
1490
+ application/json:
1491
+ schema:
1492
+ type: object
1493
+ properties:
1494
+ trigger_id:
1495
+ type: string
1496
+ minLength: 1
1497
+ maxLength: 40
1498
+ view:
1499
+ type: object
1500
+ required:
1501
+ - type
1502
+ properties:
1503
+ type:
1504
+ type: string
1505
+ enum:
1506
+ - modal
1507
+ - home
1508
+ callback_id:
1509
+ type: string
1510
+ maxLength: 40
1511
+ title:
1512
+ type: object
1513
+ properties:
1514
+ type:
1515
+ type: string
1516
+ enum:
1517
+ - plain_text
1518
+ text:
1519
+ type: string
1520
+ maxLength: 24
1521
+ blocks:
1522
+ type: array
1523
+ maxItems: 3
1524
+ items:
1525
+ type: object
1526
+ private_metadata:
1527
+ type: string
1528
+ maxLength: 200
1529
+ required:
1530
+ - trigger_id
1531
+ - view
1532
+ responses:
1533
+ '200':
1534
+ description: 'Slack envelope: `ok: true` with the method''s fields, or `ok: false` with an `error`
1535
+ code (Slack answers logical failures with HTTP 200)'
1536
+ content:
1537
+ application/json:
1538
+ schema:
1539
+ $ref: '#/components/schemas/ViewResponse'
1540
+ '429':
1541
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1542
+ headers:
1543
+ retry-after:
1544
+ schema:
1545
+ type: string
1546
+ content:
1547
+ application/json:
1548
+ schema:
1549
+ $ref: '#/components/schemas/ErrorEnvelope'
1550
+ '500':
1551
+ description: Slack is having trouble
1552
+ content:
1553
+ application/json:
1554
+ schema:
1555
+ $ref: '#/components/schemas/ErrorEnvelope'
1556
+ '503':
1557
+ description: Slack is unavailable
1558
+ content:
1559
+ application/json:
1560
+ schema:
1561
+ $ref: '#/components/schemas/ErrorEnvelope'
1562
+ /api/apps.connections.open:
1563
+ post:
1564
+ operationId: AppsConnectionsOpen
1565
+ summary: 'apps.connections.open: mint a one-use Socket Mode WebSocket URL'
1566
+ description: |
1567
+ App-level token (`xapp-`) in the `Authorization` header. A missing token is `not_authed`,
1568
+ a bot or user token is `not_allowed_token_type`, and a malformed, unknown, or revoked
1569
+ app token is `invalid_auth` or `token_revoked`. Logical errors are HTTP 200. The `url`
1570
+ is a `ws://` or `wss://` URL on this server (`/link/?ticket=…&app_id=…`).
1571
+ x-mockingbird:
1572
+ supported: true
1573
+ parity:
1574
+ enabled: true
1575
+ safe: false
1576
+ requestBody:
1577
+ required: false
1578
+ content:
1579
+ application/x-www-form-urlencoded:
1580
+ schema:
1581
+ type: object
1582
+ properties: {}
1583
+ application/json:
1584
+ schema:
1585
+ type: object
1586
+ properties: {}
1587
+ responses:
1588
+ '200':
1589
+ description: 'Slack envelope: `ok: true` and a WebSocket `url`, or `ok: false` with an `error` code'
1590
+ content:
1591
+ application/json:
1592
+ schema:
1593
+ $ref: '#/components/schemas/ConnectionsOpenResponse'
1594
+ '429':
1595
+ description: Rate limited (`ratelimited`), with `retry-after` seconds
1596
+ headers:
1597
+ retry-after:
1598
+ schema:
1599
+ type: string
1600
+ content:
1601
+ application/json:
1602
+ schema:
1603
+ $ref: '#/components/schemas/ErrorEnvelope'
1604
+ '500':
1605
+ description: Slack is having trouble
1606
+ content:
1607
+ application/json:
1608
+ schema:
1609
+ $ref: '#/components/schemas/ErrorEnvelope'
1610
+ '503':
1611
+ description: Slack is unavailable
1612
+ content:
1613
+ application/json:
1614
+ schema:
1615
+ $ref: '#/components/schemas/ErrorEnvelope'
1616
+ components:
1617
+ securitySchemes:
1618
+ bearerAuth:
1619
+ type: http
1620
+ scheme: bearer
1621
+ schemas:
1622
+ Envelope:
1623
+ type: object
1624
+ required:
1625
+ - ok
1626
+ properties:
1627
+ ok:
1628
+ type: boolean
1629
+ error:
1630
+ type: string
1631
+ warning:
1632
+ type: string
1633
+ needed:
1634
+ type: string
1635
+ provided:
1636
+ type: string
1637
+ response_metadata:
1638
+ type: object
1639
+ properties:
1640
+ messages:
1641
+ type: array
1642
+ items:
1643
+ type: string
1644
+ warnings:
1645
+ type: array
1646
+ items:
1647
+ type: string
1648
+ ErrorEnvelope:
1649
+ type: object
1650
+ required:
1651
+ - ok
1652
+ - error
1653
+ properties:
1654
+ ok:
1655
+ type: boolean
1656
+ enum:
1657
+ - false
1658
+ error:
1659
+ type: string
1660
+ Message:
1661
+ type: object
1662
+ required:
1663
+ - type
1664
+ - ts
1665
+ properties:
1666
+ type:
1667
+ type: string
1668
+ enum:
1669
+ - message
1670
+ subtype:
1671
+ type: string
1672
+ text:
1673
+ type: string
1674
+ user:
1675
+ type: string
1676
+ bot_id:
1677
+ type: string
1678
+ app_id:
1679
+ type: string
1680
+ team:
1681
+ type: string
1682
+ ts:
1683
+ type: string
1684
+ x-mockingbird-volatile:
1685
+ kind: id
1686
+ thread_ts:
1687
+ type: string
1688
+ x-mockingbird-volatile:
1689
+ kind: id
1690
+ blocks:
1691
+ type: array
1692
+ items:
1693
+ type: object
1694
+ edited:
1695
+ type: object
1696
+ properties:
1697
+ user:
1698
+ type: string
1699
+ ts:
1700
+ type: string
1701
+ x-mockingbird-volatile:
1702
+ kind: id
1703
+ reactions:
1704
+ type: array
1705
+ items:
1706
+ type: object
1707
+ properties:
1708
+ name:
1709
+ type: string
1710
+ count:
1711
+ type: integer
1712
+ users:
1713
+ type: array
1714
+ items:
1715
+ type: string
1716
+ PostMessageResponse:
1717
+ allOf:
1718
+ - $ref: '#/components/schemas/Envelope'
1719
+ - type: object
1720
+ properties:
1721
+ channel:
1722
+ type: string
1723
+ ts:
1724
+ type: string
1725
+ x-mockingbird-resource:
1726
+ type: message
1727
+ identity: true
1728
+ x-mockingbird-volatile:
1729
+ kind: id
1730
+ message:
1731
+ $ref: '#/components/schemas/Message'
1732
+ ReactionsGetResponse:
1733
+ allOf:
1734
+ - $ref: '#/components/schemas/Envelope'
1735
+ - type: object
1736
+ properties:
1737
+ type:
1738
+ type: string
1739
+ enum:
1740
+ - message
1741
+ channel:
1742
+ type: string
1743
+ message:
1744
+ $ref: '#/components/schemas/Message'
1745
+ UpdateResponse:
1746
+ allOf:
1747
+ - $ref: '#/components/schemas/Envelope'
1748
+ - type: object
1749
+ properties:
1750
+ channel:
1751
+ type: string
1752
+ ts:
1753
+ type: string
1754
+ x-mockingbird-volatile:
1755
+ kind: id
1756
+ text:
1757
+ type: string
1758
+ message:
1759
+ $ref: '#/components/schemas/Message'
1760
+ EphemeralResponse:
1761
+ allOf:
1762
+ - $ref: '#/components/schemas/Envelope'
1763
+ - type: object
1764
+ properties:
1765
+ message_ts:
1766
+ type: string
1767
+ x-mockingbird-volatile:
1768
+ kind: id
1769
+ PermalinkResponse:
1770
+ allOf:
1771
+ - $ref: '#/components/schemas/Envelope'
1772
+ - type: object
1773
+ properties:
1774
+ channel:
1775
+ type: string
1776
+ permalink:
1777
+ type: string
1778
+ x-mockingbird-volatile:
1779
+ kind: url
1780
+ AuthTestResponse:
1781
+ allOf:
1782
+ - $ref: '#/components/schemas/Envelope'
1783
+ - type: object
1784
+ properties:
1785
+ url:
1786
+ type: string
1787
+ team:
1788
+ type: string
1789
+ user:
1790
+ type: string
1791
+ team_id:
1792
+ type: string
1793
+ user_id:
1794
+ type: string
1795
+ bot_id:
1796
+ type: string
1797
+ is_enterprise_install:
1798
+ type: boolean
1799
+ Channel:
1800
+ type: object
1801
+ required:
1802
+ - id
1803
+ - name
1804
+ properties:
1805
+ id:
1806
+ type: string
1807
+ name:
1808
+ type: string
1809
+ is_channel:
1810
+ type: boolean
1811
+ is_private:
1812
+ type: boolean
1813
+ is_archived:
1814
+ type: boolean
1815
+ is_member:
1816
+ type: boolean
1817
+ created:
1818
+ type: integer
1819
+ JoinResponse:
1820
+ allOf:
1821
+ - $ref: '#/components/schemas/Envelope'
1822
+ - type: object
1823
+ properties:
1824
+ channel:
1825
+ $ref: '#/components/schemas/Channel'
1826
+ User:
1827
+ type: object
1828
+ required:
1829
+ - id
1830
+ - name
1831
+ properties:
1832
+ id:
1833
+ type: string
1834
+ x-mockingbird-resource:
1835
+ type: user
1836
+ identity: true
1837
+ team_id:
1838
+ type: string
1839
+ name:
1840
+ type: string
1841
+ real_name:
1842
+ type: string
1843
+ deleted:
1844
+ type: boolean
1845
+ is_bot:
1846
+ type: boolean
1847
+ tz:
1848
+ type: string
1849
+ profile:
1850
+ type: object
1851
+ properties:
1852
+ email:
1853
+ type: string
1854
+ real_name:
1855
+ type: string
1856
+ display_name:
1857
+ type: string
1858
+ UserResponse:
1859
+ allOf:
1860
+ - $ref: '#/components/schemas/Envelope'
1861
+ - type: object
1862
+ properties:
1863
+ user:
1864
+ $ref: '#/components/schemas/User'
1865
+ File:
1866
+ type: object
1867
+ required:
1868
+ - id
1869
+ properties:
1870
+ id:
1871
+ type: string
1872
+ x-mockingbird-resource:
1873
+ type: file
1874
+ identity: true
1875
+ name:
1876
+ type: string
1877
+ title:
1878
+ type: string
1879
+ mimetype:
1880
+ type: string
1881
+ filetype:
1882
+ type: string
1883
+ size:
1884
+ type: integer
1885
+ created:
1886
+ type: integer
1887
+ url_private:
1888
+ type: string
1889
+ url_private_download:
1890
+ type: string
1891
+ permalink:
1892
+ type: string
1893
+ FileResponse:
1894
+ allOf:
1895
+ - $ref: '#/components/schemas/Envelope'
1896
+ - type: object
1897
+ properties:
1898
+ file:
1899
+ $ref: '#/components/schemas/File'
1900
+ ViewResponse:
1901
+ allOf:
1902
+ - $ref: '#/components/schemas/Envelope'
1903
+ - type: object
1904
+ properties:
1905
+ view:
1906
+ type: object
1907
+ properties:
1908
+ id:
1909
+ type: string
1910
+ x-mockingbird-volatile:
1911
+ kind: id
1912
+ type:
1913
+ type: string
1914
+ team_id:
1915
+ type: string
1916
+ callback_id:
1917
+ type: string
1918
+ hash:
1919
+ type: string
1920
+ x-mockingbird-volatile:
1921
+ kind: opaque
1922
+ blocks:
1923
+ type: array
1924
+ items:
1925
+ type: object
1926
+ state:
1927
+ type: object
1928
+ private_metadata:
1929
+ type: string
1930
+ title:
1931
+ type: object
1932
+ app_id:
1933
+ type: string
1934
+ bot_id:
1935
+ type: string
1936
+ ConnectionsOpenResponse:
1937
+ allOf:
1938
+ - $ref: '#/components/schemas/Envelope'
1939
+ - type: object
1940
+ properties:
1941
+ url:
1942
+ type: string
1943
+ description: One-use Socket Mode WebSocket URL (`ticket` query parameter).
1944
+ x-mockingbird-volatile:
1945
+ kind: url