@lanes-sh/link 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +11 -3
  2. package/instructions/agents/lanes-link-scout.md +2 -2
  3. package/instructions/skills/lanes-link/SKILL.md +135 -11
  4. package/package.json +3 -1
  5. package/src/cli/argv.ts +52 -0
  6. package/src/cli/commands/connect/authorise.ts +5 -0
  7. package/src/cli/commands/connect/custom/ask.ts +167 -0
  8. package/src/cli/commands/connect/custom/credential.ts +143 -0
  9. package/src/cli/commands/connect/custom/derive.ts +229 -0
  10. package/src/cli/commands/connect/custom/index.ts +285 -0
  11. package/src/cli/commands/connect/custom/prompts.ts +160 -0
  12. package/src/cli/commands/connect/custom/spec.ts +293 -0
  13. package/src/cli/commands/connect/custom/values.ts +53 -0
  14. package/src/cli/commands/connect/custom/write.ts +166 -0
  15. package/src/cli/commands/connect/grant.ts +27 -0
  16. package/src/cli/commands/connect/index.ts +24 -27
  17. package/src/cli/commands/connect/outcome.ts +3 -1
  18. package/src/cli/commands/connect/requirements.ts +11 -1
  19. package/src/cli/commands/connect/settle.ts +17 -0
  20. package/src/cli/commands/connect/setup.ts +9 -1
  21. package/src/cli/commands/connect/strategy.ts +87 -0
  22. package/src/cli/commands/connect/unknown.ts +41 -0
  23. package/src/cli/identity.ts +29 -5
  24. package/src/cli/main.ts +37 -13
  25. package/src/cli/oauth.ts +89 -36
  26. package/src/cli/runtime/open.ts +13 -1
  27. package/src/cli/runtime/registry.ts +12 -0
  28. package/src/cli/selection.ts +12 -0
  29. package/src/cli/usage.ts +9 -1
  30. package/src/connectivity/auth/README.md +8 -1
  31. package/src/connectivity/auth/strategy/index.ts +128 -4
  32. package/src/connectivity/connector.ts +11 -0
  33. package/src/connectivity/index.ts +11 -1
  34. package/src/connectivity/manifest/auth.ts +19 -0
  35. package/src/connectivity/manifest/connector.ts +21 -0
  36. package/src/connectivity/manifest/primitives.ts +5 -1
  37. package/src/connectivity/manifest/provider.ts +30 -12
  38. package/src/connectivity/provider.ts +55 -0
  39. package/src/connectivity/transports/factory.ts +1 -0
  40. package/src/connectivity/transports/http/index.ts +73 -2
  41. package/src/dispatch/dispatch.ts +44 -5
  42. package/src/providers/bunq/hints.ts +43 -0
  43. package/src/providers/bunq/index.ts +87 -0
  44. package/src/providers/bunq/redact.ts +64 -0
  45. package/src/providers/bunq/specs/bunq.v1.json +864 -0
  46. package/src/providers/bunq/specs/vendor.ts +338 -0
  47. package/src/providers/bunq/strategy/handshake.ts +211 -0
  48. package/src/providers/bunq/strategy/index.ts +298 -0
  49. package/src/providers/bunq/strategy/keys.ts +72 -0
  50. package/src/providers/custom/index.ts +1 -6
  51. package/src/providers/custom/load.ts +56 -14
  52. package/src/providers/custom/template.ts +1 -1
  53. package/src/providers/discord/hints.ts +195 -0
  54. package/src/providers/discord/index.ts +121 -0
  55. package/src/providers/discord/redact.ts +99 -0
  56. package/src/providers/discord/specs/discord.v10.json +2333 -0
  57. package/src/providers/discord/specs/vendor.ts +164 -0
  58. package/src/providers/google/specs/vendor.ts +32 -317
  59. package/src/providers/index.ts +9 -0
  60. package/src/providers/reddit/index.ts +113 -0
  61. package/src/providers/reddit/oauth.ts +77 -0
  62. package/src/providers/reddit/redact.ts +33 -0
  63. package/src/providers/reddit/scopes.ts +27 -0
  64. package/src/providers/reddit/specs/reddit.v1.json +700 -0
  65. package/src/providers/scopes.ts +2 -0
  66. package/src/providers/shared/openapi.ts +155 -0
  67. package/src/providers/shared/vendor-operations.ts +98 -0
  68. package/src/providers/shared/vendor-spec.ts +309 -0
@@ -0,0 +1,2333 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "Discord HTTP API (Preview)",
5
+ "description": "Preview of the Discord v10 HTTP API specification. See https://discord.com/developers/docs for more details.",
6
+ "termsOfService": "https://discord.com/developers/docs/policies-and-agreements/developer-terms-of-service",
7
+ "license": {
8
+ "name": "MIT",
9
+ "identifier": "MIT"
10
+ },
11
+ "version": "10",
12
+ "x-vendored-from": "https://raw.githubusercontent.com/discord/discord-api-spec/main/specs/openapi.json",
13
+ "x-vendored-note": "Trimmed by src/providers/discord/specs/vendor.ts. Committed deliberately: upstream is a public preview that may change without notice, and a spec decides which paths are called with the operator bot token — so it must be reviewable rather than fetched at connect time."
14
+ },
15
+ "servers": [
16
+ {
17
+ "url": "https://discord.com/api/v10"
18
+ }
19
+ ],
20
+ "paths": {
21
+ "/channels/{channel_id}": {
22
+ "get": {
23
+ "operationId": "get_channel",
24
+ "responses": {
25
+ "200": {
26
+ "description": "Success. The response body is returned verbatim."
27
+ }
28
+ },
29
+ "security": [
30
+ {
31
+ "BotToken": []
32
+ }
33
+ ],
34
+ "parameters": [
35
+ {
36
+ "name": "channel_id",
37
+ "in": "path",
38
+ "schema": {
39
+ "$ref": "#/components/schemas/SnowflakeType"
40
+ },
41
+ "required": true
42
+ }
43
+ ]
44
+ }
45
+ },
46
+ "/channels/{channel_id}/messages": {
47
+ "get": {
48
+ "operationId": "list_messages",
49
+ "parameters": [
50
+ {
51
+ "name": "channel_id",
52
+ "in": "path",
53
+ "schema": {
54
+ "$ref": "#/components/schemas/SnowflakeType"
55
+ },
56
+ "required": true
57
+ },
58
+ {
59
+ "name": "around",
60
+ "in": "query",
61
+ "schema": {
62
+ "$ref": "#/components/schemas/SnowflakeType"
63
+ }
64
+ },
65
+ {
66
+ "name": "before",
67
+ "in": "query",
68
+ "schema": {
69
+ "$ref": "#/components/schemas/SnowflakeType"
70
+ }
71
+ },
72
+ {
73
+ "name": "after",
74
+ "in": "query",
75
+ "schema": {
76
+ "$ref": "#/components/schemas/SnowflakeType"
77
+ }
78
+ },
79
+ {
80
+ "name": "limit",
81
+ "in": "query",
82
+ "schema": {
83
+ "type": "integer",
84
+ "minimum": 1,
85
+ "maximum": 100
86
+ }
87
+ }
88
+ ],
89
+ "responses": {
90
+ "200": {
91
+ "description": "Success. The response body is returned verbatim."
92
+ }
93
+ },
94
+ "security": [
95
+ {
96
+ "BotToken": []
97
+ }
98
+ ]
99
+ },
100
+ "post": {
101
+ "operationId": "create_message",
102
+ "requestBody": {
103
+ "content": {
104
+ "application/json": {
105
+ "schema": {
106
+ "$ref": "#/components/schemas/MessageCreateRequest"
107
+ }
108
+ }
109
+ },
110
+ "required": true
111
+ },
112
+ "responses": {
113
+ "200": {
114
+ "description": "Success. The response body is returned verbatim."
115
+ }
116
+ },
117
+ "security": [
118
+ {
119
+ "BotToken": []
120
+ }
121
+ ],
122
+ "parameters": [
123
+ {
124
+ "name": "channel_id",
125
+ "in": "path",
126
+ "schema": {
127
+ "$ref": "#/components/schemas/SnowflakeType"
128
+ },
129
+ "required": true
130
+ }
131
+ ]
132
+ }
133
+ },
134
+ "/channels/{channel_id}/messages/pins": {
135
+ "get": {
136
+ "operationId": "list_pins",
137
+ "parameters": [
138
+ {
139
+ "name": "channel_id",
140
+ "in": "path",
141
+ "schema": {
142
+ "$ref": "#/components/schemas/SnowflakeType"
143
+ },
144
+ "required": true
145
+ },
146
+ {
147
+ "name": "before",
148
+ "in": "query",
149
+ "schema": {
150
+ "type": "string",
151
+ "format": "date-time"
152
+ }
153
+ },
154
+ {
155
+ "name": "limit",
156
+ "in": "query",
157
+ "schema": {
158
+ "type": "integer",
159
+ "minimum": 1,
160
+ "maximum": 50
161
+ }
162
+ }
163
+ ],
164
+ "responses": {
165
+ "200": {
166
+ "description": "Success. The response body is returned verbatim."
167
+ }
168
+ },
169
+ "security": [
170
+ {
171
+ "BotToken": []
172
+ }
173
+ ]
174
+ }
175
+ },
176
+ "/channels/{channel_id}/messages/pins/{message_id}": {
177
+ "put": {
178
+ "operationId": "create_pin",
179
+ "responses": {
180
+ "200": {
181
+ "description": "Success. The response body is returned verbatim."
182
+ }
183
+ },
184
+ "security": [
185
+ {
186
+ "BotToken": []
187
+ }
188
+ ],
189
+ "parameters": [
190
+ {
191
+ "name": "channel_id",
192
+ "in": "path",
193
+ "schema": {
194
+ "$ref": "#/components/schemas/SnowflakeType"
195
+ },
196
+ "required": true
197
+ },
198
+ {
199
+ "name": "message_id",
200
+ "in": "path",
201
+ "schema": {
202
+ "$ref": "#/components/schemas/SnowflakeType"
203
+ },
204
+ "required": true
205
+ }
206
+ ]
207
+ }
208
+ },
209
+ "/channels/{channel_id}/messages/{message_id}": {
210
+ "get": {
211
+ "operationId": "get_message",
212
+ "responses": {
213
+ "200": {
214
+ "description": "Success. The response body is returned verbatim."
215
+ }
216
+ },
217
+ "security": [
218
+ {
219
+ "BotToken": []
220
+ }
221
+ ],
222
+ "parameters": [
223
+ {
224
+ "name": "channel_id",
225
+ "in": "path",
226
+ "schema": {
227
+ "$ref": "#/components/schemas/SnowflakeType"
228
+ },
229
+ "required": true
230
+ },
231
+ {
232
+ "name": "message_id",
233
+ "in": "path",
234
+ "schema": {
235
+ "$ref": "#/components/schemas/SnowflakeType"
236
+ },
237
+ "required": true
238
+ }
239
+ ]
240
+ },
241
+ "delete": {
242
+ "operationId": "delete_message",
243
+ "responses": {
244
+ "200": {
245
+ "description": "Success. The response body is returned verbatim."
246
+ }
247
+ },
248
+ "security": [
249
+ {
250
+ "BotToken": []
251
+ }
252
+ ],
253
+ "parameters": [
254
+ {
255
+ "name": "channel_id",
256
+ "in": "path",
257
+ "schema": {
258
+ "$ref": "#/components/schemas/SnowflakeType"
259
+ },
260
+ "required": true
261
+ },
262
+ {
263
+ "name": "message_id",
264
+ "in": "path",
265
+ "schema": {
266
+ "$ref": "#/components/schemas/SnowflakeType"
267
+ },
268
+ "required": true
269
+ }
270
+ ]
271
+ },
272
+ "patch": {
273
+ "operationId": "update_message",
274
+ "requestBody": {
275
+ "content": {
276
+ "application/json": {
277
+ "schema": {
278
+ "$ref": "#/components/schemas/MessageEditRequestPartial"
279
+ }
280
+ }
281
+ },
282
+ "required": true
283
+ },
284
+ "responses": {
285
+ "200": {
286
+ "description": "Success. The response body is returned verbatim."
287
+ }
288
+ },
289
+ "security": [
290
+ {
291
+ "BotToken": []
292
+ }
293
+ ],
294
+ "parameters": [
295
+ {
296
+ "name": "channel_id",
297
+ "in": "path",
298
+ "schema": {
299
+ "$ref": "#/components/schemas/SnowflakeType"
300
+ },
301
+ "required": true
302
+ },
303
+ {
304
+ "name": "message_id",
305
+ "in": "path",
306
+ "schema": {
307
+ "$ref": "#/components/schemas/SnowflakeType"
308
+ },
309
+ "required": true
310
+ }
311
+ ]
312
+ }
313
+ },
314
+ "/channels/{channel_id}/messages/{message_id}/crosspost": {
315
+ "post": {
316
+ "operationId": "crosspost_message",
317
+ "responses": {
318
+ "200": {
319
+ "description": "Success. The response body is returned verbatim."
320
+ }
321
+ },
322
+ "security": [
323
+ {
324
+ "BotToken": []
325
+ }
326
+ ],
327
+ "parameters": [
328
+ {
329
+ "name": "channel_id",
330
+ "in": "path",
331
+ "schema": {
332
+ "$ref": "#/components/schemas/SnowflakeType"
333
+ },
334
+ "required": true
335
+ },
336
+ {
337
+ "name": "message_id",
338
+ "in": "path",
339
+ "schema": {
340
+ "$ref": "#/components/schemas/SnowflakeType"
341
+ },
342
+ "required": true
343
+ }
344
+ ]
345
+ }
346
+ },
347
+ "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}": {
348
+ "get": {
349
+ "operationId": "list_message_reactions_by_emoji",
350
+ "parameters": [
351
+ {
352
+ "name": "channel_id",
353
+ "in": "path",
354
+ "schema": {
355
+ "$ref": "#/components/schemas/SnowflakeType"
356
+ },
357
+ "required": true
358
+ },
359
+ {
360
+ "name": "message_id",
361
+ "in": "path",
362
+ "schema": {
363
+ "$ref": "#/components/schemas/SnowflakeType"
364
+ },
365
+ "required": true
366
+ },
367
+ {
368
+ "name": "emoji_name",
369
+ "in": "path",
370
+ "schema": {
371
+ "type": "string",
372
+ "maxLength": 152133
373
+ },
374
+ "required": true
375
+ },
376
+ {
377
+ "name": "after",
378
+ "in": "query",
379
+ "schema": {
380
+ "$ref": "#/components/schemas/SnowflakeType"
381
+ }
382
+ },
383
+ {
384
+ "name": "limit",
385
+ "in": "query",
386
+ "schema": {
387
+ "type": "integer",
388
+ "minimum": 1,
389
+ "maximum": 100
390
+ }
391
+ },
392
+ {
393
+ "name": "type",
394
+ "in": "query",
395
+ "schema": {
396
+ "$ref": "#/components/schemas/ReactionTypes"
397
+ }
398
+ }
399
+ ],
400
+ "responses": {
401
+ "200": {
402
+ "description": "Success. The response body is returned verbatim."
403
+ }
404
+ },
405
+ "security": [
406
+ {
407
+ "BotToken": []
408
+ }
409
+ ]
410
+ }
411
+ },
412
+ "/channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me": {
413
+ "put": {
414
+ "operationId": "add_my_message_reaction",
415
+ "responses": {
416
+ "200": {
417
+ "description": "Success. The response body is returned verbatim."
418
+ }
419
+ },
420
+ "security": [
421
+ {
422
+ "BotToken": []
423
+ }
424
+ ],
425
+ "parameters": [
426
+ {
427
+ "name": "channel_id",
428
+ "in": "path",
429
+ "schema": {
430
+ "$ref": "#/components/schemas/SnowflakeType"
431
+ },
432
+ "required": true
433
+ },
434
+ {
435
+ "name": "message_id",
436
+ "in": "path",
437
+ "schema": {
438
+ "$ref": "#/components/schemas/SnowflakeType"
439
+ },
440
+ "required": true
441
+ },
442
+ {
443
+ "name": "emoji_name",
444
+ "in": "path",
445
+ "schema": {
446
+ "type": "string",
447
+ "maxLength": 152133
448
+ },
449
+ "required": true
450
+ }
451
+ ]
452
+ }
453
+ },
454
+ "/channels/{channel_id}/messages/{message_id}/threads": {
455
+ "post": {
456
+ "operationId": "create_thread_from_message",
457
+ "requestBody": {
458
+ "content": {
459
+ "application/json": {
460
+ "schema": {
461
+ "$ref": "#/components/schemas/CreateTextThreadWithMessageRequest"
462
+ }
463
+ }
464
+ },
465
+ "required": true
466
+ },
467
+ "responses": {
468
+ "200": {
469
+ "description": "Success. The response body is returned verbatim."
470
+ }
471
+ },
472
+ "security": [
473
+ {
474
+ "BotToken": []
475
+ }
476
+ ],
477
+ "parameters": [
478
+ {
479
+ "name": "channel_id",
480
+ "in": "path",
481
+ "schema": {
482
+ "$ref": "#/components/schemas/SnowflakeType"
483
+ },
484
+ "required": true
485
+ },
486
+ {
487
+ "name": "message_id",
488
+ "in": "path",
489
+ "schema": {
490
+ "$ref": "#/components/schemas/SnowflakeType"
491
+ },
492
+ "required": true
493
+ }
494
+ ]
495
+ }
496
+ },
497
+ "/channels/{channel_id}/webhooks": {
498
+ "get": {
499
+ "operationId": "list_channel_webhooks",
500
+ "responses": {
501
+ "200": {
502
+ "description": "Success. The response body is returned verbatim."
503
+ }
504
+ },
505
+ "security": [
506
+ {
507
+ "BotToken": []
508
+ }
509
+ ],
510
+ "parameters": [
511
+ {
512
+ "name": "channel_id",
513
+ "in": "path",
514
+ "schema": {
515
+ "$ref": "#/components/schemas/SnowflakeType"
516
+ },
517
+ "required": true
518
+ }
519
+ ]
520
+ },
521
+ "post": {
522
+ "operationId": "create_webhook",
523
+ "requestBody": {
524
+ "content": {
525
+ "application/json": {
526
+ "schema": {
527
+ "type": "object",
528
+ "properties": {
529
+ "name": {
530
+ "type": "string",
531
+ "minLength": 1,
532
+ "maxLength": 80
533
+ },
534
+ "avatar": {
535
+ "type": [
536
+ "string",
537
+ "null"
538
+ ],
539
+ "contentEncoding": "base64"
540
+ }
541
+ },
542
+ "required": [
543
+ "name"
544
+ ]
545
+ }
546
+ }
547
+ },
548
+ "required": true
549
+ },
550
+ "responses": {
551
+ "200": {
552
+ "description": "Success. The response body is returned verbatim."
553
+ }
554
+ },
555
+ "security": [
556
+ {
557
+ "BotToken": []
558
+ }
559
+ ],
560
+ "parameters": [
561
+ {
562
+ "name": "channel_id",
563
+ "in": "path",
564
+ "schema": {
565
+ "$ref": "#/components/schemas/SnowflakeType"
566
+ },
567
+ "required": true
568
+ }
569
+ ]
570
+ }
571
+ },
572
+ "/guilds/{guild_id}": {
573
+ "get": {
574
+ "operationId": "get_guild",
575
+ "parameters": [
576
+ {
577
+ "name": "guild_id",
578
+ "in": "path",
579
+ "schema": {
580
+ "$ref": "#/components/schemas/SnowflakeType"
581
+ },
582
+ "required": true
583
+ },
584
+ {
585
+ "name": "with_counts",
586
+ "in": "query",
587
+ "schema": {
588
+ "type": "boolean"
589
+ }
590
+ }
591
+ ],
592
+ "responses": {
593
+ "200": {
594
+ "description": "Success. The response body is returned verbatim."
595
+ }
596
+ },
597
+ "security": [
598
+ {
599
+ "BotToken": []
600
+ }
601
+ ]
602
+ }
603
+ },
604
+ "/guilds/{guild_id}/channels": {
605
+ "get": {
606
+ "operationId": "list_guild_channels",
607
+ "responses": {
608
+ "200": {
609
+ "description": "Success. The response body is returned verbatim."
610
+ }
611
+ },
612
+ "security": [
613
+ {
614
+ "BotToken": []
615
+ },
616
+ {
617
+ "OAuth2": []
618
+ }
619
+ ],
620
+ "parameters": [
621
+ {
622
+ "name": "guild_id",
623
+ "in": "path",
624
+ "schema": {
625
+ "$ref": "#/components/schemas/SnowflakeType"
626
+ },
627
+ "required": true
628
+ }
629
+ ]
630
+ }
631
+ },
632
+ "/guilds/{guild_id}/threads/active": {
633
+ "get": {
634
+ "operationId": "get_active_guild_threads",
635
+ "responses": {
636
+ "200": {
637
+ "description": "Success. The response body is returned verbatim."
638
+ }
639
+ },
640
+ "security": [
641
+ {
642
+ "BotToken": []
643
+ }
644
+ ],
645
+ "parameters": [
646
+ {
647
+ "name": "guild_id",
648
+ "in": "path",
649
+ "schema": {
650
+ "$ref": "#/components/schemas/SnowflakeType"
651
+ },
652
+ "required": true
653
+ }
654
+ ]
655
+ }
656
+ },
657
+ "/users/@me": {
658
+ "get": {
659
+ "operationId": "get_my_user",
660
+ "responses": {
661
+ "200": {
662
+ "description": "Success. The response body is returned verbatim."
663
+ }
664
+ },
665
+ "security": [
666
+ {
667
+ "BotToken": []
668
+ },
669
+ {
670
+ "OAuth2": [
671
+ "identify"
672
+ ]
673
+ }
674
+ ]
675
+ }
676
+ },
677
+ "/users/@me/guilds": {
678
+ "get": {
679
+ "operationId": "list_my_guilds",
680
+ "parameters": [
681
+ {
682
+ "name": "before",
683
+ "in": "query",
684
+ "schema": {
685
+ "$ref": "#/components/schemas/SnowflakeType"
686
+ }
687
+ },
688
+ {
689
+ "name": "after",
690
+ "in": "query",
691
+ "schema": {
692
+ "$ref": "#/components/schemas/SnowflakeType"
693
+ }
694
+ },
695
+ {
696
+ "name": "limit",
697
+ "in": "query",
698
+ "schema": {
699
+ "type": "integer",
700
+ "minimum": 1,
701
+ "maximum": 200
702
+ }
703
+ },
704
+ {
705
+ "name": "with_counts",
706
+ "in": "query",
707
+ "schema": {
708
+ "type": "boolean"
709
+ }
710
+ }
711
+ ],
712
+ "responses": {
713
+ "200": {
714
+ "description": "Success. The response body is returned verbatim."
715
+ }
716
+ },
717
+ "security": [
718
+ {
719
+ "BotToken": []
720
+ },
721
+ {
722
+ "OAuth2": [
723
+ "guilds"
724
+ ]
725
+ }
726
+ ]
727
+ }
728
+ },
729
+ "/webhooks/{webhook_id}/{webhook_token}": {
730
+ "post": {
731
+ "operationId": "execute_webhook",
732
+ "parameters": [
733
+ {
734
+ "name": "webhook_id",
735
+ "in": "path",
736
+ "schema": {
737
+ "$ref": "#/components/schemas/SnowflakeType"
738
+ },
739
+ "required": true
740
+ },
741
+ {
742
+ "name": "webhook_token",
743
+ "in": "path",
744
+ "schema": {
745
+ "type": "string",
746
+ "maxLength": 152133
747
+ },
748
+ "required": true
749
+ },
750
+ {
751
+ "name": "wait",
752
+ "in": "query",
753
+ "schema": {
754
+ "type": "boolean"
755
+ }
756
+ },
757
+ {
758
+ "name": "thread_id",
759
+ "in": "query",
760
+ "schema": {
761
+ "$ref": "#/components/schemas/SnowflakeType"
762
+ }
763
+ },
764
+ {
765
+ "name": "with_components",
766
+ "in": "query",
767
+ "schema": {
768
+ "type": "boolean"
769
+ }
770
+ }
771
+ ],
772
+ "requestBody": {
773
+ "content": {
774
+ "application/json": {
775
+ "schema": {
776
+ "$ref": "#/components/schemas/IncomingWebhookRequestPartial"
777
+ }
778
+ }
779
+ },
780
+ "required": true
781
+ },
782
+ "responses": {
783
+ "200": {
784
+ "description": "Success. The response body is returned verbatim."
785
+ }
786
+ },
787
+ "security": [
788
+ {},
789
+ {
790
+ "BotToken": []
791
+ }
792
+ ]
793
+ }
794
+ }
795
+ },
796
+ "components": {
797
+ "schemas": {
798
+ "ActionRowComponentForMessageRequest": {
799
+ "type": "object",
800
+ "additionalProperties": true,
801
+ "description": "A ActionRowComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
802
+ },
803
+ "AllowedMentionTypes": {
804
+ "type": "string",
805
+ "oneOf": [
806
+ {
807
+ "title": "USERS",
808
+ "description": "Controls role mentions",
809
+ "const": "users"
810
+ },
811
+ {
812
+ "title": "ROLES",
813
+ "description": "Controls user mentions",
814
+ "const": "roles"
815
+ },
816
+ {
817
+ "title": "EVERYONE",
818
+ "description": "Controls @everyone and @here mentions",
819
+ "const": "everyone"
820
+ }
821
+ ]
822
+ },
823
+ "ContainerComponentForMessageRequest": {
824
+ "type": "object",
825
+ "additionalProperties": true,
826
+ "description": "A ContainerComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
827
+ },
828
+ "CreateTextThreadWithMessageRequest": {
829
+ "type": "object",
830
+ "properties": {
831
+ "name": {
832
+ "type": "string",
833
+ "minLength": 1,
834
+ "maxLength": 100
835
+ },
836
+ "auto_archive_duration": {
837
+ "oneOf": [
838
+ {
839
+ "type": "null"
840
+ },
841
+ {
842
+ "$ref": "#/components/schemas/ThreadAutoArchiveDuration"
843
+ }
844
+ ]
845
+ },
846
+ "rate_limit_per_user": {
847
+ "type": [
848
+ "integer",
849
+ "null"
850
+ ],
851
+ "minimum": 0,
852
+ "maximum": 21600,
853
+ "format": "int32"
854
+ }
855
+ },
856
+ "required": [
857
+ "name"
858
+ ]
859
+ },
860
+ "CustomClientThemeShareRequest": {
861
+ "type": "object",
862
+ "properties": {
863
+ "colors": {
864
+ "type": "array",
865
+ "items": {
866
+ "type": "string",
867
+ "minLength": 6,
868
+ "maxLength": 6
869
+ },
870
+ "minItems": 1,
871
+ "maxItems": 5
872
+ },
873
+ "gradient_angle": {
874
+ "type": "integer",
875
+ "minimum": 0,
876
+ "maximum": 360,
877
+ "format": "int32"
878
+ },
879
+ "base_mix": {
880
+ "type": "integer",
881
+ "minimum": 0,
882
+ "maximum": 100,
883
+ "format": "int32"
884
+ },
885
+ "base_theme": {
886
+ "oneOf": [
887
+ {
888
+ "type": "null"
889
+ },
890
+ {
891
+ "$ref": "#/components/schemas/MessageShareCustomUserThemeBaseTheme"
892
+ }
893
+ ]
894
+ }
895
+ },
896
+ "required": [
897
+ "colors",
898
+ "gradient_angle",
899
+ "base_mix"
900
+ ]
901
+ },
902
+ "FileComponentForMessageRequest": {
903
+ "type": "object",
904
+ "additionalProperties": true,
905
+ "description": "A FileComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
906
+ },
907
+ "IncomingWebhookRequestPartial": {
908
+ "type": "object",
909
+ "properties": {
910
+ "content": {
911
+ "type": [
912
+ "string",
913
+ "null"
914
+ ],
915
+ "maxLength": 2000
916
+ },
917
+ "embeds": {
918
+ "type": [
919
+ "array",
920
+ "null"
921
+ ],
922
+ "items": {
923
+ "$ref": "#/components/schemas/RichEmbed"
924
+ },
925
+ "maxItems": 10
926
+ },
927
+ "allowed_mentions": {
928
+ "oneOf": [
929
+ {
930
+ "type": "null"
931
+ },
932
+ {
933
+ "$ref": "#/components/schemas/MessageAllowedMentionsRequest"
934
+ }
935
+ ]
936
+ },
937
+ "components": {
938
+ "type": [
939
+ "array",
940
+ "null"
941
+ ],
942
+ "items": {
943
+ "oneOf": [
944
+ {
945
+ "$ref": "#/components/schemas/ActionRowComponentForMessageRequest"
946
+ },
947
+ {
948
+ "$ref": "#/components/schemas/ContainerComponentForMessageRequest"
949
+ },
950
+ {
951
+ "$ref": "#/components/schemas/FileComponentForMessageRequest"
952
+ },
953
+ {
954
+ "$ref": "#/components/schemas/MediaGalleryComponentForMessageRequest"
955
+ },
956
+ {
957
+ "$ref": "#/components/schemas/SectionComponentForMessageRequest"
958
+ },
959
+ {
960
+ "$ref": "#/components/schemas/SeparatorComponentForMessageRequest"
961
+ },
962
+ {
963
+ "$ref": "#/components/schemas/TextDisplayComponentForMessageRequest"
964
+ }
965
+ ]
966
+ },
967
+ "maxItems": 40
968
+ },
969
+ "attachments": {
970
+ "type": [
971
+ "array",
972
+ "null"
973
+ ],
974
+ "items": {
975
+ "$ref": "#/components/schemas/MessageAttachmentRequest"
976
+ },
977
+ "maxItems": 10
978
+ },
979
+ "poll": {
980
+ "oneOf": [
981
+ {
982
+ "type": "null"
983
+ },
984
+ {
985
+ "$ref": "#/components/schemas/PollCreateRequest"
986
+ }
987
+ ]
988
+ },
989
+ "tts": {
990
+ "type": [
991
+ "boolean",
992
+ "null"
993
+ ]
994
+ },
995
+ "flags": {
996
+ "type": [
997
+ "integer",
998
+ "null"
999
+ ]
1000
+ },
1001
+ "username": {
1002
+ "type": [
1003
+ "string",
1004
+ "null"
1005
+ ],
1006
+ "minLength": 1,
1007
+ "maxLength": 80
1008
+ },
1009
+ "avatar_url": {
1010
+ "type": [
1011
+ "string",
1012
+ "null"
1013
+ ],
1014
+ "maxLength": 2048,
1015
+ "format": "uri"
1016
+ },
1017
+ "thread_name": {
1018
+ "type": [
1019
+ "string",
1020
+ "null"
1021
+ ],
1022
+ "minLength": 0,
1023
+ "maxLength": 100
1024
+ },
1025
+ "applied_tags": {
1026
+ "type": [
1027
+ "array",
1028
+ "null"
1029
+ ],
1030
+ "items": {
1031
+ "$ref": "#/components/schemas/SnowflakeType"
1032
+ },
1033
+ "maxItems": 5
1034
+ }
1035
+ }
1036
+ },
1037
+ "MediaGalleryComponentForMessageRequest": {
1038
+ "type": "object",
1039
+ "additionalProperties": true,
1040
+ "description": "A MediaGalleryComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
1041
+ },
1042
+ "MessageAllowedMentionsRequest": {
1043
+ "type": "object",
1044
+ "properties": {
1045
+ "parse": {
1046
+ "type": [
1047
+ "array",
1048
+ "null"
1049
+ ],
1050
+ "items": {
1051
+ "oneOf": [
1052
+ {
1053
+ "type": "null"
1054
+ },
1055
+ {
1056
+ "$ref": "#/components/schemas/AllowedMentionTypes"
1057
+ }
1058
+ ]
1059
+ },
1060
+ "maxItems": 1521,
1061
+ "uniqueItems": true
1062
+ },
1063
+ "users": {
1064
+ "type": [
1065
+ "array",
1066
+ "null"
1067
+ ],
1068
+ "items": {
1069
+ "oneOf": [
1070
+ {
1071
+ "type": "null"
1072
+ },
1073
+ {
1074
+ "$ref": "#/components/schemas/SnowflakeType"
1075
+ }
1076
+ ]
1077
+ },
1078
+ "maxItems": 100,
1079
+ "uniqueItems": true
1080
+ },
1081
+ "roles": {
1082
+ "type": [
1083
+ "array",
1084
+ "null"
1085
+ ],
1086
+ "items": {
1087
+ "oneOf": [
1088
+ {
1089
+ "type": "null"
1090
+ },
1091
+ {
1092
+ "$ref": "#/components/schemas/SnowflakeType"
1093
+ }
1094
+ ]
1095
+ },
1096
+ "maxItems": 100,
1097
+ "uniqueItems": true
1098
+ },
1099
+ "replied_user": {
1100
+ "type": [
1101
+ "boolean",
1102
+ "null"
1103
+ ]
1104
+ }
1105
+ }
1106
+ },
1107
+ "MessageAttachmentRequest": {
1108
+ "type": "object",
1109
+ "properties": {
1110
+ "id": {
1111
+ "$ref": "#/components/schemas/SnowflakeType"
1112
+ },
1113
+ "filename": {
1114
+ "type": [
1115
+ "string",
1116
+ "null"
1117
+ ],
1118
+ "minLength": 1,
1119
+ "maxLength": 1024
1120
+ },
1121
+ "description": {
1122
+ "type": [
1123
+ "string",
1124
+ "null"
1125
+ ],
1126
+ "maxLength": 1024
1127
+ },
1128
+ "duration_secs": {
1129
+ "type": [
1130
+ "number",
1131
+ "null"
1132
+ ],
1133
+ "minimum": 0,
1134
+ "maximum": 2147483647,
1135
+ "format": "double"
1136
+ },
1137
+ "waveform": {
1138
+ "type": [
1139
+ "string",
1140
+ "null"
1141
+ ],
1142
+ "maxLength": 400
1143
+ },
1144
+ "title": {
1145
+ "type": [
1146
+ "string",
1147
+ "null"
1148
+ ],
1149
+ "maxLength": 1024
1150
+ },
1151
+ "is_spoiler": {
1152
+ "type": [
1153
+ "boolean",
1154
+ "null"
1155
+ ]
1156
+ },
1157
+ "is_remix": {
1158
+ "type": [
1159
+ "boolean",
1160
+ "null"
1161
+ ]
1162
+ }
1163
+ },
1164
+ "required": [
1165
+ "id"
1166
+ ]
1167
+ },
1168
+ "MessageCreateRequest": {
1169
+ "type": "object",
1170
+ "properties": {
1171
+ "content": {
1172
+ "type": [
1173
+ "string",
1174
+ "null"
1175
+ ],
1176
+ "maxLength": 4000
1177
+ },
1178
+ "embeds": {
1179
+ "type": [
1180
+ "array",
1181
+ "null"
1182
+ ],
1183
+ "items": {
1184
+ "$ref": "#/components/schemas/RichEmbed"
1185
+ },
1186
+ "maxItems": 10
1187
+ },
1188
+ "allowed_mentions": {
1189
+ "oneOf": [
1190
+ {
1191
+ "type": "null"
1192
+ },
1193
+ {
1194
+ "$ref": "#/components/schemas/MessageAllowedMentionsRequest"
1195
+ }
1196
+ ]
1197
+ },
1198
+ "sticker_ids": {
1199
+ "type": [
1200
+ "array",
1201
+ "null"
1202
+ ],
1203
+ "items": {
1204
+ "$ref": "#/components/schemas/SnowflakeType"
1205
+ },
1206
+ "maxItems": 3
1207
+ },
1208
+ "components": {
1209
+ "type": [
1210
+ "array",
1211
+ "null"
1212
+ ],
1213
+ "items": {
1214
+ "oneOf": [
1215
+ {
1216
+ "$ref": "#/components/schemas/ActionRowComponentForMessageRequest"
1217
+ },
1218
+ {
1219
+ "$ref": "#/components/schemas/ContainerComponentForMessageRequest"
1220
+ },
1221
+ {
1222
+ "$ref": "#/components/schemas/FileComponentForMessageRequest"
1223
+ },
1224
+ {
1225
+ "$ref": "#/components/schemas/MediaGalleryComponentForMessageRequest"
1226
+ },
1227
+ {
1228
+ "$ref": "#/components/schemas/SectionComponentForMessageRequest"
1229
+ },
1230
+ {
1231
+ "$ref": "#/components/schemas/SeparatorComponentForMessageRequest"
1232
+ },
1233
+ {
1234
+ "$ref": "#/components/schemas/TextDisplayComponentForMessageRequest"
1235
+ }
1236
+ ]
1237
+ },
1238
+ "maxItems": 40
1239
+ },
1240
+ "flags": {
1241
+ "type": [
1242
+ "integer",
1243
+ "null"
1244
+ ]
1245
+ },
1246
+ "attachments": {
1247
+ "type": [
1248
+ "array",
1249
+ "null"
1250
+ ],
1251
+ "items": {
1252
+ "$ref": "#/components/schemas/MessageAttachmentRequest"
1253
+ },
1254
+ "maxItems": 10
1255
+ },
1256
+ "poll": {
1257
+ "oneOf": [
1258
+ {
1259
+ "type": "null"
1260
+ },
1261
+ {
1262
+ "$ref": "#/components/schemas/PollCreateRequest"
1263
+ }
1264
+ ]
1265
+ },
1266
+ "shared_client_theme": {
1267
+ "oneOf": [
1268
+ {
1269
+ "type": "null"
1270
+ },
1271
+ {
1272
+ "$ref": "#/components/schemas/CustomClientThemeShareRequest"
1273
+ }
1274
+ ]
1275
+ },
1276
+ "message_reference": {
1277
+ "oneOf": [
1278
+ {
1279
+ "type": "null"
1280
+ },
1281
+ {
1282
+ "$ref": "#/components/schemas/MessageReferenceRequest"
1283
+ }
1284
+ ]
1285
+ },
1286
+ "nonce": {
1287
+ "oneOf": [
1288
+ {
1289
+ "type": "integer",
1290
+ "minimum": -9223372036854776000,
1291
+ "maximum": 9223372036854776000,
1292
+ "format": "int64"
1293
+ },
1294
+ {
1295
+ "type": "string",
1296
+ "maxLength": 25,
1297
+ "format": "nonce"
1298
+ },
1299
+ {
1300
+ "type": "null"
1301
+ }
1302
+ ]
1303
+ },
1304
+ "enforce_nonce": {
1305
+ "type": [
1306
+ "boolean",
1307
+ "null"
1308
+ ]
1309
+ },
1310
+ "tts": {
1311
+ "type": [
1312
+ "boolean",
1313
+ "null"
1314
+ ]
1315
+ }
1316
+ }
1317
+ },
1318
+ "MessageEditRequestPartial": {
1319
+ "type": "object",
1320
+ "properties": {
1321
+ "content": {
1322
+ "type": [
1323
+ "string",
1324
+ "null"
1325
+ ],
1326
+ "maxLength": 4000
1327
+ },
1328
+ "embeds": {
1329
+ "type": [
1330
+ "array",
1331
+ "null"
1332
+ ],
1333
+ "items": {
1334
+ "$ref": "#/components/schemas/RichEmbed"
1335
+ },
1336
+ "maxItems": 10
1337
+ },
1338
+ "flags": {
1339
+ "type": [
1340
+ "integer",
1341
+ "null"
1342
+ ]
1343
+ },
1344
+ "allowed_mentions": {
1345
+ "oneOf": [
1346
+ {
1347
+ "type": "null"
1348
+ },
1349
+ {
1350
+ "$ref": "#/components/schemas/MessageAllowedMentionsRequest"
1351
+ }
1352
+ ]
1353
+ },
1354
+ "sticker_ids": {
1355
+ "type": [
1356
+ "array",
1357
+ "null"
1358
+ ],
1359
+ "items": {
1360
+ "$ref": "#/components/schemas/SnowflakeType"
1361
+ },
1362
+ "maxItems": 1521
1363
+ },
1364
+ "components": {
1365
+ "type": [
1366
+ "array",
1367
+ "null"
1368
+ ],
1369
+ "items": {
1370
+ "oneOf": [
1371
+ {
1372
+ "$ref": "#/components/schemas/ActionRowComponentForMessageRequest"
1373
+ },
1374
+ {
1375
+ "$ref": "#/components/schemas/ContainerComponentForMessageRequest"
1376
+ },
1377
+ {
1378
+ "$ref": "#/components/schemas/FileComponentForMessageRequest"
1379
+ },
1380
+ {
1381
+ "$ref": "#/components/schemas/MediaGalleryComponentForMessageRequest"
1382
+ },
1383
+ {
1384
+ "$ref": "#/components/schemas/SectionComponentForMessageRequest"
1385
+ },
1386
+ {
1387
+ "$ref": "#/components/schemas/SeparatorComponentForMessageRequest"
1388
+ },
1389
+ {
1390
+ "$ref": "#/components/schemas/TextDisplayComponentForMessageRequest"
1391
+ }
1392
+ ]
1393
+ },
1394
+ "maxItems": 40
1395
+ },
1396
+ "attachments": {
1397
+ "type": [
1398
+ "array",
1399
+ "null"
1400
+ ],
1401
+ "items": {
1402
+ "$ref": "#/components/schemas/MessageAttachmentRequest"
1403
+ },
1404
+ "maxItems": 10
1405
+ }
1406
+ }
1407
+ },
1408
+ "MessageReferenceRequest": {
1409
+ "type": "object",
1410
+ "properties": {
1411
+ "guild_id": {
1412
+ "oneOf": [
1413
+ {
1414
+ "type": "null"
1415
+ },
1416
+ {
1417
+ "$ref": "#/components/schemas/SnowflakeType"
1418
+ }
1419
+ ]
1420
+ },
1421
+ "channel_id": {
1422
+ "oneOf": [
1423
+ {
1424
+ "type": "null"
1425
+ },
1426
+ {
1427
+ "$ref": "#/components/schemas/SnowflakeType"
1428
+ }
1429
+ ]
1430
+ },
1431
+ "message_id": {
1432
+ "$ref": "#/components/schemas/SnowflakeType"
1433
+ },
1434
+ "fail_if_not_exists": {
1435
+ "type": [
1436
+ "boolean",
1437
+ "null"
1438
+ ]
1439
+ },
1440
+ "type": {
1441
+ "oneOf": [
1442
+ {
1443
+ "type": "null"
1444
+ },
1445
+ {
1446
+ "$ref": "#/components/schemas/MessageReferenceType"
1447
+ }
1448
+ ]
1449
+ }
1450
+ },
1451
+ "required": [
1452
+ "message_id"
1453
+ ]
1454
+ },
1455
+ "MessageReferenceType": {
1456
+ "type": "integer",
1457
+ "oneOf": [
1458
+ {
1459
+ "title": "DEFAULT",
1460
+ "description": "Reference to a message",
1461
+ "const": 0
1462
+ }
1463
+ ],
1464
+ "format": "int32"
1465
+ },
1466
+ "MessageShareCustomUserThemeBaseTheme": {
1467
+ "type": "integer",
1468
+ "oneOf": [
1469
+ {
1470
+ "title": "UNSET",
1471
+ "description": "No base theme",
1472
+ "const": 0
1473
+ },
1474
+ {
1475
+ "title": "DARK",
1476
+ "description": "Dark base theme",
1477
+ "const": 1
1478
+ },
1479
+ {
1480
+ "title": "LIGHT",
1481
+ "description": "Light base theme",
1482
+ "const": 2
1483
+ },
1484
+ {
1485
+ "title": "DARKER",
1486
+ "description": "Darker base theme",
1487
+ "const": 3
1488
+ },
1489
+ {
1490
+ "title": "MIDNIGHT",
1491
+ "description": "Midnight base theme",
1492
+ "const": 4
1493
+ }
1494
+ ],
1495
+ "format": "int32"
1496
+ },
1497
+ "PollAnswerCreateRequest": {
1498
+ "type": "object",
1499
+ "properties": {
1500
+ "poll_media": {
1501
+ "$ref": "#/components/schemas/PollMediaCreateRequest",
1502
+ "description": "The data of the answer"
1503
+ }
1504
+ },
1505
+ "required": [
1506
+ "poll_media"
1507
+ ]
1508
+ },
1509
+ "PollCreateRequest": {
1510
+ "type": "object",
1511
+ "properties": {
1512
+ "question": {
1513
+ "$ref": "#/components/schemas/PollMedia",
1514
+ "description": "The question of the poll. Only `text` is supported."
1515
+ },
1516
+ "answers": {
1517
+ "type": "array",
1518
+ "description": "Each of the answers available in the poll, up to 10",
1519
+ "items": {
1520
+ "$ref": "#/components/schemas/PollAnswerCreateRequest"
1521
+ },
1522
+ "minItems": 1,
1523
+ "maxItems": 10
1524
+ },
1525
+ "allow_multiselect": {
1526
+ "type": [
1527
+ "boolean",
1528
+ "null"
1529
+ ],
1530
+ "description": "Whether a user can select multiple answers"
1531
+ },
1532
+ "layout_type": {
1533
+ "description": "The layout type of the poll. Defaults to... DEFAULT!",
1534
+ "oneOf": [
1535
+ {
1536
+ "type": "null"
1537
+ },
1538
+ {
1539
+ "$ref": "#/components/schemas/PollLayoutTypes"
1540
+ }
1541
+ ]
1542
+ },
1543
+ "duration": {
1544
+ "type": [
1545
+ "integer",
1546
+ "null"
1547
+ ],
1548
+ "description": "Number of hours the poll should be open for, up to 32 days. Defaults to 24",
1549
+ "minimum": 1,
1550
+ "maximum": 768,
1551
+ "format": "int32"
1552
+ }
1553
+ },
1554
+ "required": [
1555
+ "question",
1556
+ "answers"
1557
+ ]
1558
+ },
1559
+ "PollEmoji": {
1560
+ "type": "object",
1561
+ "properties": {
1562
+ "id": {
1563
+ "description": "The ID of the custom emoji",
1564
+ "oneOf": [
1565
+ {
1566
+ "type": "null"
1567
+ },
1568
+ {
1569
+ "$ref": "#/components/schemas/SnowflakeType"
1570
+ }
1571
+ ]
1572
+ },
1573
+ "name": {
1574
+ "type": [
1575
+ "string",
1576
+ "null"
1577
+ ],
1578
+ "description": "The name of the emoji, or the unicode emoji character",
1579
+ "maxLength": 32
1580
+ },
1581
+ "animated": {
1582
+ "type": [
1583
+ "boolean",
1584
+ "null"
1585
+ ],
1586
+ "description": "Whether the emoji is animated"
1587
+ }
1588
+ }
1589
+ },
1590
+ "PollEmojiCreateRequest": {
1591
+ "type": "object",
1592
+ "properties": {
1593
+ "id": {
1594
+ "description": "The ID of the custom emoji",
1595
+ "oneOf": [
1596
+ {
1597
+ "type": "null"
1598
+ },
1599
+ {
1600
+ "$ref": "#/components/schemas/SnowflakeType"
1601
+ }
1602
+ ]
1603
+ },
1604
+ "name": {
1605
+ "type": [
1606
+ "string",
1607
+ "null"
1608
+ ],
1609
+ "description": "The name of the emoji, or the unicode emoji character",
1610
+ "maxLength": 32
1611
+ },
1612
+ "animated": {
1613
+ "type": [
1614
+ "boolean",
1615
+ "null"
1616
+ ],
1617
+ "description": "Whether the emoji is animated"
1618
+ }
1619
+ }
1620
+ },
1621
+ "PollLayoutTypes": {
1622
+ "type": "integer",
1623
+ "oneOf": [
1624
+ {
1625
+ "title": "DEFAULT",
1626
+ "description": "The, uhm, default layout type.",
1627
+ "const": 1
1628
+ }
1629
+ ],
1630
+ "format": "int32"
1631
+ },
1632
+ "PollMedia": {
1633
+ "type": "object",
1634
+ "properties": {
1635
+ "text": {
1636
+ "type": [
1637
+ "string",
1638
+ "null"
1639
+ ],
1640
+ "description": "The text of the field",
1641
+ "minLength": 1,
1642
+ "maxLength": 300
1643
+ },
1644
+ "emoji": {
1645
+ "description": "The emoji of the field",
1646
+ "oneOf": [
1647
+ {
1648
+ "type": "null"
1649
+ },
1650
+ {
1651
+ "$ref": "#/components/schemas/PollEmoji"
1652
+ }
1653
+ ]
1654
+ }
1655
+ }
1656
+ },
1657
+ "PollMediaCreateRequest": {
1658
+ "type": "object",
1659
+ "properties": {
1660
+ "text": {
1661
+ "type": [
1662
+ "string",
1663
+ "null"
1664
+ ],
1665
+ "description": "The text of the field",
1666
+ "minLength": 1,
1667
+ "maxLength": 300
1668
+ },
1669
+ "emoji": {
1670
+ "description": "The emoji of the field",
1671
+ "oneOf": [
1672
+ {
1673
+ "type": "null"
1674
+ },
1675
+ {
1676
+ "$ref": "#/components/schemas/PollEmojiCreateRequest"
1677
+ }
1678
+ ]
1679
+ }
1680
+ }
1681
+ },
1682
+ "ReactionTypes": {
1683
+ "type": "integer",
1684
+ "oneOf": [
1685
+ {
1686
+ "title": "NORMAL",
1687
+ "description": "Normal reaction type",
1688
+ "const": 0
1689
+ },
1690
+ {
1691
+ "title": "BURST",
1692
+ "description": "Burst reaction type",
1693
+ "const": 1
1694
+ }
1695
+ ],
1696
+ "format": "int32"
1697
+ },
1698
+ "RichEmbed": {
1699
+ "type": "object",
1700
+ "properties": {
1701
+ "type": {
1702
+ "type": [
1703
+ "string",
1704
+ "null"
1705
+ ],
1706
+ "maxLength": 152133
1707
+ },
1708
+ "url": {
1709
+ "type": [
1710
+ "string",
1711
+ "null"
1712
+ ],
1713
+ "maxLength": 2048,
1714
+ "format": "uri"
1715
+ },
1716
+ "title": {
1717
+ "type": [
1718
+ "string",
1719
+ "null"
1720
+ ],
1721
+ "maxLength": 256
1722
+ },
1723
+ "color": {
1724
+ "type": [
1725
+ "integer",
1726
+ "null"
1727
+ ],
1728
+ "minimum": 0,
1729
+ "maximum": 16777215
1730
+ },
1731
+ "timestamp": {
1732
+ "type": [
1733
+ "string",
1734
+ "null"
1735
+ ],
1736
+ "format": "date-time"
1737
+ },
1738
+ "description": {
1739
+ "type": [
1740
+ "string",
1741
+ "null"
1742
+ ],
1743
+ "maxLength": 4096
1744
+ },
1745
+ "author": {
1746
+ "oneOf": [
1747
+ {
1748
+ "type": "null"
1749
+ },
1750
+ {
1751
+ "$ref": "#/components/schemas/RichEmbedAuthor"
1752
+ }
1753
+ ]
1754
+ },
1755
+ "image": {
1756
+ "oneOf": [
1757
+ {
1758
+ "type": "null"
1759
+ },
1760
+ {
1761
+ "$ref": "#/components/schemas/RichEmbedImage"
1762
+ }
1763
+ ]
1764
+ },
1765
+ "thumbnail": {
1766
+ "oneOf": [
1767
+ {
1768
+ "type": "null"
1769
+ },
1770
+ {
1771
+ "$ref": "#/components/schemas/RichEmbedThumbnail"
1772
+ }
1773
+ ]
1774
+ },
1775
+ "footer": {
1776
+ "oneOf": [
1777
+ {
1778
+ "type": "null"
1779
+ },
1780
+ {
1781
+ "$ref": "#/components/schemas/RichEmbedFooter"
1782
+ }
1783
+ ]
1784
+ },
1785
+ "fields": {
1786
+ "type": [
1787
+ "array",
1788
+ "null"
1789
+ ],
1790
+ "items": {
1791
+ "$ref": "#/components/schemas/RichEmbedField"
1792
+ },
1793
+ "maxItems": 25
1794
+ },
1795
+ "provider": {
1796
+ "oneOf": [
1797
+ {
1798
+ "type": "null"
1799
+ },
1800
+ {
1801
+ "$ref": "#/components/schemas/RichEmbedProvider"
1802
+ }
1803
+ ]
1804
+ },
1805
+ "video": {
1806
+ "oneOf": [
1807
+ {
1808
+ "type": "null"
1809
+ },
1810
+ {
1811
+ "$ref": "#/components/schemas/RichEmbedVideo"
1812
+ }
1813
+ ]
1814
+ }
1815
+ }
1816
+ },
1817
+ "RichEmbedAuthor": {
1818
+ "type": "object",
1819
+ "properties": {
1820
+ "name": {
1821
+ "type": [
1822
+ "string",
1823
+ "null"
1824
+ ],
1825
+ "maxLength": 256
1826
+ },
1827
+ "url": {
1828
+ "type": [
1829
+ "string",
1830
+ "null"
1831
+ ],
1832
+ "maxLength": 2048,
1833
+ "format": "uri"
1834
+ },
1835
+ "icon_url": {
1836
+ "type": [
1837
+ "string",
1838
+ "null"
1839
+ ],
1840
+ "maxLength": 2048,
1841
+ "format": "uri"
1842
+ }
1843
+ }
1844
+ },
1845
+ "RichEmbedField": {
1846
+ "type": "object",
1847
+ "properties": {
1848
+ "name": {
1849
+ "type": "string",
1850
+ "maxLength": 256
1851
+ },
1852
+ "value": {
1853
+ "type": "string",
1854
+ "maxLength": 1024
1855
+ },
1856
+ "inline": {
1857
+ "type": [
1858
+ "boolean",
1859
+ "null"
1860
+ ]
1861
+ }
1862
+ },
1863
+ "required": [
1864
+ "name",
1865
+ "value"
1866
+ ]
1867
+ },
1868
+ "RichEmbedFooter": {
1869
+ "type": "object",
1870
+ "properties": {
1871
+ "text": {
1872
+ "type": [
1873
+ "string",
1874
+ "null"
1875
+ ],
1876
+ "maxLength": 2048
1877
+ },
1878
+ "icon_url": {
1879
+ "type": [
1880
+ "string",
1881
+ "null"
1882
+ ],
1883
+ "maxLength": 2048,
1884
+ "format": "uri"
1885
+ }
1886
+ }
1887
+ },
1888
+ "RichEmbedImage": {
1889
+ "type": "object",
1890
+ "properties": {
1891
+ "url": {
1892
+ "type": [
1893
+ "string",
1894
+ "null"
1895
+ ],
1896
+ "maxLength": 2048,
1897
+ "format": "uri"
1898
+ },
1899
+ "width": {
1900
+ "type": [
1901
+ "integer",
1902
+ "null"
1903
+ ]
1904
+ },
1905
+ "height": {
1906
+ "type": [
1907
+ "integer",
1908
+ "null"
1909
+ ]
1910
+ },
1911
+ "placeholder": {
1912
+ "type": [
1913
+ "string",
1914
+ "null"
1915
+ ],
1916
+ "maxLength": 64
1917
+ },
1918
+ "placeholder_version": {
1919
+ "type": [
1920
+ "integer",
1921
+ "null"
1922
+ ],
1923
+ "minimum": 0,
1924
+ "maximum": 2147483647
1925
+ },
1926
+ "is_animated": {
1927
+ "type": [
1928
+ "boolean",
1929
+ "null"
1930
+ ]
1931
+ },
1932
+ "description": {
1933
+ "type": [
1934
+ "string",
1935
+ "null"
1936
+ ],
1937
+ "maxLength": 4096
1938
+ }
1939
+ }
1940
+ },
1941
+ "RichEmbedProvider": {
1942
+ "type": "object",
1943
+ "properties": {
1944
+ "name": {
1945
+ "type": [
1946
+ "string",
1947
+ "null"
1948
+ ],
1949
+ "maxLength": 256
1950
+ },
1951
+ "url": {
1952
+ "type": [
1953
+ "string",
1954
+ "null"
1955
+ ],
1956
+ "maxLength": 2048,
1957
+ "format": "uri"
1958
+ }
1959
+ }
1960
+ },
1961
+ "RichEmbedThumbnail": {
1962
+ "type": "object",
1963
+ "properties": {
1964
+ "url": {
1965
+ "type": [
1966
+ "string",
1967
+ "null"
1968
+ ],
1969
+ "maxLength": 2048,
1970
+ "format": "uri"
1971
+ },
1972
+ "width": {
1973
+ "type": [
1974
+ "integer",
1975
+ "null"
1976
+ ]
1977
+ },
1978
+ "height": {
1979
+ "type": [
1980
+ "integer",
1981
+ "null"
1982
+ ]
1983
+ },
1984
+ "placeholder": {
1985
+ "type": [
1986
+ "string",
1987
+ "null"
1988
+ ],
1989
+ "maxLength": 64
1990
+ },
1991
+ "placeholder_version": {
1992
+ "type": [
1993
+ "integer",
1994
+ "null"
1995
+ ],
1996
+ "minimum": 0,
1997
+ "maximum": 2147483647
1998
+ },
1999
+ "is_animated": {
2000
+ "type": [
2001
+ "boolean",
2002
+ "null"
2003
+ ]
2004
+ },
2005
+ "description": {
2006
+ "type": [
2007
+ "string",
2008
+ "null"
2009
+ ],
2010
+ "maxLength": 4096
2011
+ }
2012
+ }
2013
+ },
2014
+ "RichEmbedVideo": {
2015
+ "type": "object",
2016
+ "properties": {
2017
+ "url": {
2018
+ "type": [
2019
+ "string",
2020
+ "null"
2021
+ ],
2022
+ "maxLength": 2048,
2023
+ "format": "uri"
2024
+ },
2025
+ "width": {
2026
+ "type": [
2027
+ "integer",
2028
+ "null"
2029
+ ]
2030
+ },
2031
+ "height": {
2032
+ "type": [
2033
+ "integer",
2034
+ "null"
2035
+ ]
2036
+ },
2037
+ "placeholder": {
2038
+ "type": [
2039
+ "string",
2040
+ "null"
2041
+ ],
2042
+ "maxLength": 64
2043
+ },
2044
+ "placeholder_version": {
2045
+ "type": [
2046
+ "integer",
2047
+ "null"
2048
+ ],
2049
+ "minimum": 0,
2050
+ "maximum": 2147483647
2051
+ },
2052
+ "is_animated": {
2053
+ "type": [
2054
+ "boolean",
2055
+ "null"
2056
+ ]
2057
+ },
2058
+ "description": {
2059
+ "type": [
2060
+ "string",
2061
+ "null"
2062
+ ],
2063
+ "maxLength": 4096
2064
+ }
2065
+ }
2066
+ },
2067
+ "SectionComponentForMessageRequest": {
2068
+ "type": "object",
2069
+ "additionalProperties": true,
2070
+ "description": "A SectionComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
2071
+ },
2072
+ "SeparatorComponentForMessageRequest": {
2073
+ "type": "object",
2074
+ "additionalProperties": true,
2075
+ "description": "A SeparatorComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
2076
+ },
2077
+ "SnowflakeType": {
2078
+ "type": "string",
2079
+ "pattern": "^(0|[1-9][0-9]*)$",
2080
+ "format": "snowflake"
2081
+ },
2082
+ "TextDisplayComponentForMessageRequest": {
2083
+ "type": "object",
2084
+ "additionalProperties": true,
2085
+ "description": "A TextDisplayComponentForMessageRequest. Structure omitted: this union inlines to hundreds of kilobytes. Pass the object as documented at https://discord.com/developers/docs/components/reference."
2086
+ },
2087
+ "ThreadAutoArchiveDuration": {
2088
+ "type": "integer",
2089
+ "oneOf": [
2090
+ {
2091
+ "title": "ONE_HOUR",
2092
+ "description": "One hour",
2093
+ "const": 60
2094
+ },
2095
+ {
2096
+ "title": "ONE_DAY",
2097
+ "description": "One day",
2098
+ "const": 1440
2099
+ },
2100
+ {
2101
+ "title": "THREE_DAY",
2102
+ "description": "Three days",
2103
+ "const": 4320
2104
+ },
2105
+ {
2106
+ "title": "SEVEN_DAY",
2107
+ "description": "Seven days",
2108
+ "const": 10080
2109
+ }
2110
+ ],
2111
+ "format": "int32"
2112
+ }
2113
+ },
2114
+ "securitySchemes": {
2115
+ "BotToken": {
2116
+ "type": "apiKey",
2117
+ "description": "Discord bot token",
2118
+ "name": "Authorization",
2119
+ "in": "header"
2120
+ },
2121
+ "OAuth2": {
2122
+ "type": "oauth2",
2123
+ "flows": {
2124
+ "implicit": {
2125
+ "authorizationUrl": "https://discord.com/api/oauth2/authorize",
2126
+ "refreshUrl": "https://discord.com/api/oauth2/token",
2127
+ "scopes": {
2128
+ "activities.invites.write": "allows your app to send activity invites - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)",
2129
+ "activities.read": "allows your app to fetch data from a user's \"Now Playing/Recently Played\" list - requires Discord approval",
2130
+ "activities.write": "allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)",
2131
+ "applications.builds.read": "allows your app to read build data for a user's applications",
2132
+ "applications.builds.upload": "allows your app to upload/update builds for a user's applications - requires Discord approval",
2133
+ "applications.commands": "allows your app to use commands in a guild",
2134
+ "applications.commands.permissions.update": "allows your app to update permissions for its commands in a guild a user has permissions to",
2135
+ "applications.entitlements": "allows your app to read entitlements for a user's applications",
2136
+ "applications.store.update": "allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications",
2137
+ "bot": "for oauth2 bots, this puts the bot in the user's selected guild by default",
2138
+ "connections": "allows /users/@me/connections to return linked third-party accounts",
2139
+ "dm_channels.read": "allows your app to see information about the user's DMs and group DMs - requires Discord approval",
2140
+ "email": "enables /users/@me to return an email",
2141
+ "gdm.join": "allows your app to join users to a group dm",
2142
+ "guilds": "allows /users/@me/guilds to return basic information about all of a user's guilds",
2143
+ "guilds.join": "allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild",
2144
+ "guilds.members.read": "allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild",
2145
+ "identify": "allows /users/@me without email",
2146
+ "messages.read": "for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates)",
2147
+ "openid": "for OpenID Connect, this allows your app to receive user id and basic profile information",
2148
+ "relationships.read": "allows your app to know a user's friends and implicit relationships - requires Discord approval",
2149
+ "rpc": "for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval",
2150
+ "rpc.activities.write": "for local rpc server access, this allows you to update a user's activity - requires Discord approval",
2151
+ "rpc.notifications.read": "for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval",
2152
+ "rpc.screenshare.read": "for local rpc server access, this allows you to read a user's screenshare status- requires Discord approval",
2153
+ "rpc.screenshare.write": "for local rpc server access, this allows you to update a user's screenshare settings- requires Discord approval",
2154
+ "rpc.video.read": "for local rpc server access, this allows you to read a user's video status - requires Discord approval",
2155
+ "rpc.video.write": "for local rpc server access, this allows you to update a user's video settings - requires Discord approval",
2156
+ "rpc.voice.read": "for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval",
2157
+ "rpc.voice.write": "for local rpc server access, this allows you to update a user's voice settings - requires Discord approval",
2158
+ "voice": "allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval",
2159
+ "webhook.incoming": "this generates a webhook that is returned in the oauth token response for authorization code grants"
2160
+ }
2161
+ },
2162
+ "clientCredentials": {
2163
+ "tokenUrl": "https://discord.com/api/oauth2/token",
2164
+ "refreshUrl": "https://discord.com/api/oauth2/token",
2165
+ "scopes": {
2166
+ "activities.invites.write": "allows your app to send activity invites - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)",
2167
+ "activities.read": "allows your app to fetch data from a user's \"Now Playing/Recently Played\" list - requires Discord approval",
2168
+ "activities.write": "allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)",
2169
+ "applications.builds.read": "allows your app to read build data for a user's applications",
2170
+ "applications.builds.upload": "allows your app to upload/update builds for a user's applications - requires Discord approval",
2171
+ "applications.commands": "allows your app to use commands in a guild",
2172
+ "applications.commands.permissions.update": "allows your app to update permissions for its commands in a guild a user has permissions to",
2173
+ "applications.commands.update": "allows your app to update its commands using a Bearer token - client credentials grant only",
2174
+ "applications.entitlements": "allows your app to read entitlements for a user's applications",
2175
+ "applications.store.update": "allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications",
2176
+ "bot": "for oauth2 bots, this puts the bot in the user's selected guild by default",
2177
+ "connections": "allows /users/@me/connections to return linked third-party accounts",
2178
+ "dm_channels.read": "allows your app to see information about the user's DMs and group DMs - requires Discord approval",
2179
+ "email": "enables /users/@me to return an email",
2180
+ "gdm.join": "allows your app to join users to a group dm",
2181
+ "guilds": "allows /users/@me/guilds to return basic information about all of a user's guilds",
2182
+ "guilds.join": "allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild",
2183
+ "guilds.members.read": "allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild",
2184
+ "identify": "allows /users/@me without email",
2185
+ "messages.read": "for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates)",
2186
+ "openid": "for OpenID Connect, this allows your app to receive user id and basic profile information",
2187
+ "relationships.read": "allows your app to know a user's friends and implicit relationships - requires Discord approval",
2188
+ "rpc": "for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval",
2189
+ "rpc.activities.write": "for local rpc server access, this allows you to update a user's activity - requires Discord approval",
2190
+ "rpc.notifications.read": "for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval",
2191
+ "rpc.screenshare.read": "for local rpc server access, this allows you to read a user's screenshare status- requires Discord approval",
2192
+ "rpc.screenshare.write": "for local rpc server access, this allows you to update a user's screenshare settings- requires Discord approval",
2193
+ "rpc.video.read": "for local rpc server access, this allows you to read a user's video status - requires Discord approval",
2194
+ "rpc.video.write": "for local rpc server access, this allows you to update a user's video settings - requires Discord approval",
2195
+ "rpc.voice.read": "for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval",
2196
+ "rpc.voice.write": "for local rpc server access, this allows you to update a user's voice settings - requires Discord approval",
2197
+ "voice": "allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval",
2198
+ "webhook.incoming": "this generates a webhook that is returned in the oauth token response for authorization code grants"
2199
+ }
2200
+ },
2201
+ "authorizationCode": {
2202
+ "authorizationUrl": "https://discord.com/api/oauth2/authorize",
2203
+ "tokenUrl": "https://discord.com/api/oauth2/token",
2204
+ "refreshUrl": "https://discord.com/api/oauth2/token",
2205
+ "scopes": {
2206
+ "activities.invites.write": "allows your app to send activity invites - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)",
2207
+ "activities.read": "allows your app to fetch data from a user's \"Now Playing/Recently Played\" list - requires Discord approval",
2208
+ "activities.write": "allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER)",
2209
+ "applications.builds.read": "allows your app to read build data for a user's applications",
2210
+ "applications.builds.upload": "allows your app to upload/update builds for a user's applications - requires Discord approval",
2211
+ "applications.commands": "allows your app to use commands in a guild",
2212
+ "applications.commands.permissions.update": "allows your app to update permissions for its commands in a guild a user has permissions to",
2213
+ "applications.entitlements": "allows your app to read entitlements for a user's applications",
2214
+ "applications.store.update": "allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications",
2215
+ "bot": "for oauth2 bots, this puts the bot in the user's selected guild by default",
2216
+ "connections": "allows /users/@me/connections to return linked third-party accounts",
2217
+ "dm_channels.read": "allows your app to see information about the user's DMs and group DMs - requires Discord approval",
2218
+ "email": "enables /users/@me to return an email",
2219
+ "gdm.join": "allows your app to join users to a group dm",
2220
+ "guilds": "allows /users/@me/guilds to return basic information about all of a user's guilds",
2221
+ "guilds.join": "allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild",
2222
+ "guilds.members.read": "allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild",
2223
+ "identify": "allows /users/@me without email",
2224
+ "messages.read": "for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates)",
2225
+ "openid": "for OpenID Connect, this allows your app to receive user id and basic profile information",
2226
+ "relationships.read": "allows your app to know a user's friends and implicit relationships - requires Discord approval",
2227
+ "role_connections.write": "allows your app to update a user's connection and metadata for the app",
2228
+ "rpc": "for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval",
2229
+ "rpc.activities.write": "for local rpc server access, this allows you to update a user's activity - requires Discord approval",
2230
+ "rpc.notifications.read": "for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval",
2231
+ "rpc.screenshare.read": "for local rpc server access, this allows you to read a user's screenshare status- requires Discord approval",
2232
+ "rpc.screenshare.write": "for local rpc server access, this allows you to update a user's screenshare settings- requires Discord approval",
2233
+ "rpc.video.read": "for local rpc server access, this allows you to read a user's video status - requires Discord approval",
2234
+ "rpc.video.write": "for local rpc server access, this allows you to update a user's video settings - requires Discord approval",
2235
+ "rpc.voice.read": "for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval",
2236
+ "rpc.voice.write": "for local rpc server access, this allows you to update a user's voice settings - requires Discord approval",
2237
+ "voice": "allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval",
2238
+ "webhook.incoming": "this generates a webhook that is returned in the oauth token response for authorization code grants"
2239
+ }
2240
+ }
2241
+ }
2242
+ }
2243
+ },
2244
+ "responses": {
2245
+ "ClientErrorResponse": {
2246
+ "description": "Client error response",
2247
+ "headers": {
2248
+ "X-RateLimit-Limit": {
2249
+ "$ref": "#/components/headers/X-RateLimit-Limit"
2250
+ },
2251
+ "X-RateLimit-Remaining": {
2252
+ "$ref": "#/components/headers/X-RateLimit-Remaining"
2253
+ },
2254
+ "X-RateLimit-Reset": {
2255
+ "$ref": "#/components/headers/X-RateLimit-Reset"
2256
+ },
2257
+ "X-RateLimit-Reset-After": {
2258
+ "$ref": "#/components/headers/X-RateLimit-Reset-After"
2259
+ },
2260
+ "X-RateLimit-Bucket": {
2261
+ "$ref": "#/components/headers/X-RateLimit-Bucket"
2262
+ }
2263
+ },
2264
+ "content": {
2265
+ "application/json": {
2266
+ "schema": {
2267
+ "$ref": "#/components/schemas/ErrorResponse"
2268
+ }
2269
+ }
2270
+ }
2271
+ },
2272
+ "ClientRatelimitedResponse": {
2273
+ "description": "Client ratelimited response",
2274
+ "headers": {
2275
+ "X-RateLimit-Limit": {
2276
+ "$ref": "#/components/headers/X-RateLimit-Limit"
2277
+ },
2278
+ "X-RateLimit-Remaining": {
2279
+ "$ref": "#/components/headers/X-RateLimit-Remaining"
2280
+ },
2281
+ "X-RateLimit-Reset": {
2282
+ "$ref": "#/components/headers/X-RateLimit-Reset"
2283
+ },
2284
+ "X-RateLimit-Reset-After": {
2285
+ "$ref": "#/components/headers/X-RateLimit-Reset-After"
2286
+ },
2287
+ "X-RateLimit-Bucket": {
2288
+ "$ref": "#/components/headers/X-RateLimit-Bucket"
2289
+ }
2290
+ },
2291
+ "content": {
2292
+ "application/json": {
2293
+ "schema": {
2294
+ "$ref": "#/components/schemas/RatelimitedResponse"
2295
+ }
2296
+ }
2297
+ }
2298
+ }
2299
+ },
2300
+ "headers": {
2301
+ "X-RateLimit-Limit": {
2302
+ "schema": {
2303
+ "type": "integer"
2304
+ },
2305
+ "description": "The maximum number of requests that can be made in the current ratelimit window"
2306
+ },
2307
+ "X-RateLimit-Remaining": {
2308
+ "schema": {
2309
+ "type": "integer"
2310
+ },
2311
+ "description": "The number of requests remaining in the current ratelimit window"
2312
+ },
2313
+ "X-RateLimit-Reset": {
2314
+ "schema": {
2315
+ "type": "number"
2316
+ },
2317
+ "description": "A unix timestamp in seconds at which the current ratelimit window resets"
2318
+ },
2319
+ "X-RateLimit-Reset-After": {
2320
+ "schema": {
2321
+ "type": "number"
2322
+ },
2323
+ "description": "The duration in seconds until the current ratelimit window resets"
2324
+ },
2325
+ "X-RateLimit-Bucket": {
2326
+ "schema": {
2327
+ "type": "string"
2328
+ },
2329
+ "description": "The bucket that the request belongs to"
2330
+ }
2331
+ }
2332
+ }
2333
+ }