@furystack/rest 8.0.21 → 8.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1263 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.sourcemeta.com/openapi/v3.1/schema/2022-10-07.json",
4
+ "description": "The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0",
5
+ "$ref": "#/$defs/specification-extensions",
6
+ "type": "object",
7
+ "anyOf": [
8
+ {
9
+ "required": ["paths"]
10
+ },
11
+ {
12
+ "required": ["components"]
13
+ },
14
+ {
15
+ "required": ["webhooks"]
16
+ }
17
+ ],
18
+ "required": ["openapi", "info"],
19
+ "properties": {
20
+ "components": {
21
+ "$ref": "#/$defs/components"
22
+ },
23
+ "externalDocs": {
24
+ "$ref": "#/$defs/external-documentation"
25
+ },
26
+ "info": {
27
+ "$ref": "#/$defs/info"
28
+ },
29
+ "jsonSchemaDialect": {
30
+ "default": "https://spec.openapis.org/oas/3.1/dialect/base",
31
+ "type": "string",
32
+ "format": "uri"
33
+ },
34
+ "openapi": {
35
+ "type": "string",
36
+ "pattern": "^3\\.1\\.\\d+(-.+)?$"
37
+ },
38
+ "paths": {
39
+ "$ref": "#/$defs/paths"
40
+ },
41
+ "security": {
42
+ "type": "array",
43
+ "items": {
44
+ "$ref": "#/$defs/security-requirement"
45
+ }
46
+ },
47
+ "servers": {
48
+ "default": [
49
+ {
50
+ "url": "/"
51
+ }
52
+ ],
53
+ "type": "array",
54
+ "items": {
55
+ "$ref": "#/$defs/server"
56
+ }
57
+ },
58
+ "tags": {
59
+ "type": "array",
60
+ "items": {
61
+ "$ref": "#/$defs/tag"
62
+ }
63
+ },
64
+ "webhooks": {
65
+ "type": "object",
66
+ "additionalProperties": {
67
+ "$ref": "#/$defs/path-item"
68
+ }
69
+ }
70
+ },
71
+ "unevaluatedProperties": false,
72
+ "$defs": {
73
+ "examples": {
74
+ "properties": {
75
+ "examples": {
76
+ "type": "object",
77
+ "additionalProperties": {
78
+ "$ref": "#/$defs/example-or-reference"
79
+ }
80
+ },
81
+ "example": true
82
+ }
83
+ },
84
+ "callbacks": {
85
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#callback-object",
86
+ "$ref": "#/$defs/specification-extensions",
87
+ "type": "object",
88
+ "additionalProperties": {
89
+ "$ref": "#/$defs/path-item"
90
+ }
91
+ },
92
+ "callbacks-or-reference": {
93
+ "if": {
94
+ "type": "object",
95
+ "required": ["$ref"]
96
+ },
97
+ "then": {
98
+ "$ref": "#/$defs/reference"
99
+ },
100
+ "else": {
101
+ "$ref": "#/$defs/callbacks"
102
+ }
103
+ },
104
+ "components": {
105
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#components-object",
106
+ "$ref": "#/$defs/specification-extensions",
107
+ "type": "object",
108
+ "properties": {
109
+ "examples": {
110
+ "type": "object",
111
+ "additionalProperties": {
112
+ "$ref": "#/$defs/example-or-reference"
113
+ }
114
+ },
115
+ "callbacks": {
116
+ "type": "object",
117
+ "additionalProperties": {
118
+ "$ref": "#/$defs/callbacks-or-reference"
119
+ }
120
+ },
121
+ "headers": {
122
+ "type": "object",
123
+ "additionalProperties": {
124
+ "$ref": "#/$defs/header-or-reference"
125
+ }
126
+ },
127
+ "links": {
128
+ "type": "object",
129
+ "additionalProperties": {
130
+ "$ref": "#/$defs/link-or-reference"
131
+ }
132
+ },
133
+ "parameters": {
134
+ "type": "object",
135
+ "additionalProperties": {
136
+ "$ref": "#/$defs/parameter-or-reference"
137
+ }
138
+ },
139
+ "pathItems": {
140
+ "type": "object",
141
+ "additionalProperties": {
142
+ "$ref": "#/$defs/path-item"
143
+ }
144
+ },
145
+ "requestBodies": {
146
+ "type": "object",
147
+ "additionalProperties": {
148
+ "$ref": "#/$defs/request-body-or-reference"
149
+ }
150
+ },
151
+ "responses": {
152
+ "type": "object",
153
+ "additionalProperties": {
154
+ "$ref": "#/$defs/response-or-reference"
155
+ }
156
+ },
157
+ "schemas": {
158
+ "type": "object",
159
+ "additionalProperties": {
160
+ "$dynamicRef": "#meta"
161
+ }
162
+ },
163
+ "securitySchemes": {
164
+ "type": "object",
165
+ "additionalProperties": {
166
+ "$ref": "#/$defs/security-scheme-or-reference"
167
+ }
168
+ }
169
+ },
170
+ "patternProperties": {
171
+ "^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$": {
172
+ "$comment": "Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected",
173
+ "propertyNames": {
174
+ "pattern": "^[a-zA-Z0-9._-]+$"
175
+ }
176
+ }
177
+ },
178
+ "unevaluatedProperties": false
179
+ },
180
+ "contact": {
181
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#contact-object",
182
+ "$ref": "#/$defs/specification-extensions",
183
+ "type": "object",
184
+ "properties": {
185
+ "email": {
186
+ "type": "string",
187
+ "format": "email"
188
+ },
189
+ "name": {
190
+ "type": "string"
191
+ },
192
+ "url": {
193
+ "type": "string",
194
+ "format": "uri"
195
+ }
196
+ },
197
+ "unevaluatedProperties": false
198
+ },
199
+ "content": {
200
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#fixed-fields-10",
201
+ "type": "object",
202
+ "propertyNames": {
203
+ "format": "media-range"
204
+ },
205
+ "additionalProperties": {
206
+ "$ref": "#/$defs/media-type"
207
+ }
208
+ },
209
+ "encoding": {
210
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#encoding-object",
211
+ "type": "object",
212
+ "allOf": [
213
+ {
214
+ "$ref": "#/$defs/specification-extensions"
215
+ },
216
+ {
217
+ "$ref": "#/$defs/styles-for-form"
218
+ }
219
+ ],
220
+ "properties": {
221
+ "allowReserved": {
222
+ "default": false,
223
+ "type": "boolean"
224
+ },
225
+ "contentType": {
226
+ "type": "string",
227
+ "format": "media-range"
228
+ },
229
+ "explode": {
230
+ "type": "boolean"
231
+ },
232
+ "headers": {
233
+ "type": "object",
234
+ "additionalProperties": {
235
+ "$ref": "#/$defs/header-or-reference"
236
+ }
237
+ },
238
+ "style": {
239
+ "default": "form",
240
+ "enum": ["form", "spaceDelimited", "pipeDelimited", "deepObject"]
241
+ }
242
+ },
243
+ "unevaluatedProperties": false
244
+ },
245
+ "example": {
246
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#example-object",
247
+ "$ref": "#/$defs/specification-extensions",
248
+ "type": "object",
249
+ "not": {
250
+ "required": ["value", "externalValue"]
251
+ },
252
+ "properties": {
253
+ "description": {
254
+ "type": "string"
255
+ },
256
+ "externalValue": {
257
+ "type": "string",
258
+ "format": "uri"
259
+ },
260
+ "summary": {
261
+ "type": "string"
262
+ },
263
+ "value": true
264
+ },
265
+ "unevaluatedProperties": false
266
+ },
267
+ "example-or-reference": {
268
+ "if": {
269
+ "type": "object",
270
+ "required": ["$ref"]
271
+ },
272
+ "then": {
273
+ "$ref": "#/$defs/reference"
274
+ },
275
+ "else": {
276
+ "$ref": "#/$defs/example"
277
+ }
278
+ },
279
+ "external-documentation": {
280
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#external-documentation-object",
281
+ "$ref": "#/$defs/specification-extensions",
282
+ "type": "object",
283
+ "required": ["url"],
284
+ "properties": {
285
+ "description": {
286
+ "type": "string"
287
+ },
288
+ "url": {
289
+ "type": "string",
290
+ "format": "uri"
291
+ }
292
+ },
293
+ "unevaluatedProperties": false
294
+ },
295
+ "header": {
296
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#header-object",
297
+ "$ref": "#/$defs/specification-extensions",
298
+ "type": "object",
299
+ "oneOf": [
300
+ {
301
+ "required": ["schema"]
302
+ },
303
+ {
304
+ "required": ["content"]
305
+ }
306
+ ],
307
+ "properties": {
308
+ "description": {
309
+ "type": "string"
310
+ },
311
+ "deprecated": {
312
+ "default": false,
313
+ "type": "boolean"
314
+ },
315
+ "required": {
316
+ "default": false,
317
+ "type": "boolean"
318
+ },
319
+ "content": {
320
+ "$ref": "#/$defs/content",
321
+ "maxProperties": 1,
322
+ "minProperties": 1
323
+ },
324
+ "schema": {
325
+ "$dynamicRef": "#meta"
326
+ }
327
+ },
328
+ "unevaluatedProperties": false,
329
+ "dependentSchemas": {
330
+ "schema": {
331
+ "$ref": "#/$defs/examples",
332
+ "properties": {
333
+ "explode": {
334
+ "default": false,
335
+ "type": "boolean"
336
+ },
337
+ "style": {
338
+ "default": "simple",
339
+ "const": "simple"
340
+ }
341
+ }
342
+ }
343
+ }
344
+ },
345
+ "header-or-reference": {
346
+ "if": {
347
+ "type": "object",
348
+ "required": ["$ref"]
349
+ },
350
+ "then": {
351
+ "$ref": "#/$defs/reference"
352
+ },
353
+ "else": {
354
+ "$ref": "#/$defs/header"
355
+ }
356
+ },
357
+ "info": {
358
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#info-object",
359
+ "$ref": "#/$defs/specification-extensions",
360
+ "type": "object",
361
+ "required": ["title", "version"],
362
+ "properties": {
363
+ "title": {
364
+ "type": "string"
365
+ },
366
+ "description": {
367
+ "type": "string"
368
+ },
369
+ "contact": {
370
+ "$ref": "#/$defs/contact"
371
+ },
372
+ "license": {
373
+ "$ref": "#/$defs/license"
374
+ },
375
+ "summary": {
376
+ "type": "string"
377
+ },
378
+ "termsOfService": {
379
+ "type": "string",
380
+ "format": "uri"
381
+ },
382
+ "version": {
383
+ "type": "string"
384
+ }
385
+ },
386
+ "unevaluatedProperties": false
387
+ },
388
+ "license": {
389
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#license-object",
390
+ "$ref": "#/$defs/specification-extensions",
391
+ "type": "object",
392
+ "required": ["name"],
393
+ "properties": {
394
+ "identifier": {
395
+ "type": "string"
396
+ },
397
+ "name": {
398
+ "type": "string"
399
+ },
400
+ "url": {
401
+ "type": "string",
402
+ "format": "uri"
403
+ }
404
+ },
405
+ "unevaluatedProperties": false,
406
+ "dependentSchemas": {
407
+ "identifier": {
408
+ "not": {
409
+ "required": ["url"]
410
+ }
411
+ }
412
+ }
413
+ },
414
+ "link": {
415
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#link-object",
416
+ "$ref": "#/$defs/specification-extensions",
417
+ "type": "object",
418
+ "oneOf": [
419
+ {
420
+ "required": ["operationRef"]
421
+ },
422
+ {
423
+ "required": ["operationId"]
424
+ }
425
+ ],
426
+ "properties": {
427
+ "description": {
428
+ "type": "string"
429
+ },
430
+ "body": {
431
+ "$ref": "#/$defs/server"
432
+ },
433
+ "operationId": {
434
+ "type": "string"
435
+ },
436
+ "operationRef": {
437
+ "type": "string",
438
+ "format": "uri-reference"
439
+ },
440
+ "parameters": {
441
+ "$ref": "#/$defs/map-of-strings"
442
+ },
443
+ "requestBody": true
444
+ },
445
+ "unevaluatedProperties": false
446
+ },
447
+ "link-or-reference": {
448
+ "if": {
449
+ "type": "object",
450
+ "required": ["$ref"]
451
+ },
452
+ "then": {
453
+ "$ref": "#/$defs/reference"
454
+ },
455
+ "else": {
456
+ "$ref": "#/$defs/link"
457
+ }
458
+ },
459
+ "map-of-strings": {
460
+ "type": "object",
461
+ "additionalProperties": {
462
+ "type": "string"
463
+ }
464
+ },
465
+ "media-type": {
466
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#media-type-object",
467
+ "type": "object",
468
+ "allOf": [
469
+ {
470
+ "$ref": "#/$defs/specification-extensions"
471
+ },
472
+ {
473
+ "$ref": "#/$defs/examples"
474
+ }
475
+ ],
476
+ "properties": {
477
+ "encoding": {
478
+ "type": "object",
479
+ "additionalProperties": {
480
+ "$ref": "#/$defs/encoding"
481
+ }
482
+ },
483
+ "schema": {
484
+ "$dynamicRef": "#meta"
485
+ }
486
+ },
487
+ "unevaluatedProperties": false
488
+ },
489
+ "oauth-flows": {
490
+ "$ref": "#/$defs/specification-extensions",
491
+ "type": "object",
492
+ "properties": {
493
+ "authorizationCode": {
494
+ "$ref": "#/$defs/oauth-flows/$defs/authorization-code"
495
+ },
496
+ "clientCredentials": {
497
+ "$ref": "#/$defs/oauth-flows/$defs/client-credentials"
498
+ },
499
+ "implicit": {
500
+ "$ref": "#/$defs/oauth-flows/$defs/implicit"
501
+ },
502
+ "password": {
503
+ "$ref": "#/$defs/oauth-flows/$defs/password"
504
+ }
505
+ },
506
+ "unevaluatedProperties": false,
507
+ "$defs": {
508
+ "authorization-code": {
509
+ "$ref": "#/$defs/specification-extensions",
510
+ "type": "object",
511
+ "required": ["authorizationUrl", "tokenUrl", "scopes"],
512
+ "properties": {
513
+ "authorizationUrl": {
514
+ "type": "string",
515
+ "format": "uri"
516
+ },
517
+ "refreshUrl": {
518
+ "type": "string",
519
+ "format": "uri"
520
+ },
521
+ "scopes": {
522
+ "$ref": "#/$defs/map-of-strings"
523
+ },
524
+ "tokenUrl": {
525
+ "type": "string",
526
+ "format": "uri"
527
+ }
528
+ },
529
+ "unevaluatedProperties": false
530
+ },
531
+ "client-credentials": {
532
+ "$ref": "#/$defs/specification-extensions",
533
+ "type": "object",
534
+ "required": ["tokenUrl", "scopes"],
535
+ "properties": {
536
+ "refreshUrl": {
537
+ "type": "string",
538
+ "format": "uri"
539
+ },
540
+ "scopes": {
541
+ "$ref": "#/$defs/map-of-strings"
542
+ },
543
+ "tokenUrl": {
544
+ "type": "string",
545
+ "format": "uri"
546
+ }
547
+ },
548
+ "unevaluatedProperties": false
549
+ },
550
+ "implicit": {
551
+ "$ref": "#/$defs/specification-extensions",
552
+ "type": "object",
553
+ "required": ["authorizationUrl", "scopes"],
554
+ "properties": {
555
+ "authorizationUrl": {
556
+ "type": "string",
557
+ "format": "uri"
558
+ },
559
+ "refreshUrl": {
560
+ "type": "string",
561
+ "format": "uri"
562
+ },
563
+ "scopes": {
564
+ "$ref": "#/$defs/map-of-strings"
565
+ }
566
+ },
567
+ "unevaluatedProperties": false
568
+ },
569
+ "password": {
570
+ "$ref": "#/$defs/specification-extensions",
571
+ "type": "object",
572
+ "required": ["tokenUrl", "scopes"],
573
+ "properties": {
574
+ "refreshUrl": {
575
+ "type": "string",
576
+ "format": "uri"
577
+ },
578
+ "scopes": {
579
+ "$ref": "#/$defs/map-of-strings"
580
+ },
581
+ "tokenUrl": {
582
+ "type": "string",
583
+ "format": "uri"
584
+ }
585
+ },
586
+ "unevaluatedProperties": false
587
+ }
588
+ }
589
+ },
590
+ "operation": {
591
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#operation-object",
592
+ "$ref": "#/$defs/specification-extensions",
593
+ "type": "object",
594
+ "properties": {
595
+ "description": {
596
+ "type": "string"
597
+ },
598
+ "deprecated": {
599
+ "default": false,
600
+ "type": "boolean"
601
+ },
602
+ "callbacks": {
603
+ "type": "object",
604
+ "additionalProperties": {
605
+ "$ref": "#/$defs/callbacks-or-reference"
606
+ }
607
+ },
608
+ "externalDocs": {
609
+ "$ref": "#/$defs/external-documentation"
610
+ },
611
+ "operationId": {
612
+ "type": "string"
613
+ },
614
+ "parameters": {
615
+ "type": "array",
616
+ "items": {
617
+ "$ref": "#/$defs/parameter-or-reference"
618
+ }
619
+ },
620
+ "requestBody": {
621
+ "$ref": "#/$defs/request-body-or-reference"
622
+ },
623
+ "responses": {
624
+ "$ref": "#/$defs/responses"
625
+ },
626
+ "security": {
627
+ "type": "array",
628
+ "items": {
629
+ "$ref": "#/$defs/security-requirement"
630
+ }
631
+ },
632
+ "servers": {
633
+ "type": "array",
634
+ "items": {
635
+ "$ref": "#/$defs/server"
636
+ }
637
+ },
638
+ "summary": {
639
+ "type": "string"
640
+ },
641
+ "tags": {
642
+ "type": "array",
643
+ "items": {
644
+ "type": "string"
645
+ }
646
+ }
647
+ },
648
+ "unevaluatedProperties": false
649
+ },
650
+ "parameter": {
651
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#parameter-object",
652
+ "$ref": "#/$defs/specification-extensions",
653
+ "type": "object",
654
+ "oneOf": [
655
+ {
656
+ "required": ["schema"]
657
+ },
658
+ {
659
+ "required": ["content"]
660
+ }
661
+ ],
662
+ "if": {
663
+ "required": ["in"],
664
+ "properties": {
665
+ "in": {
666
+ "const": "query"
667
+ }
668
+ }
669
+ },
670
+ "then": {
671
+ "properties": {
672
+ "allowEmptyValue": {
673
+ "default": false,
674
+ "type": "boolean"
675
+ }
676
+ }
677
+ },
678
+ "required": ["name", "in"],
679
+ "properties": {
680
+ "description": {
681
+ "type": "string"
682
+ },
683
+ "deprecated": {
684
+ "default": false,
685
+ "type": "boolean"
686
+ },
687
+ "required": {
688
+ "default": false,
689
+ "type": "boolean"
690
+ },
691
+ "content": {
692
+ "$ref": "#/$defs/content",
693
+ "maxProperties": 1,
694
+ "minProperties": 1
695
+ },
696
+ "in": {
697
+ "enum": ["query", "header", "path", "cookie"]
698
+ },
699
+ "name": {
700
+ "type": "string"
701
+ },
702
+ "schema": {
703
+ "$dynamicRef": "#meta"
704
+ }
705
+ },
706
+ "unevaluatedProperties": false,
707
+ "dependentSchemas": {
708
+ "schema": {
709
+ "allOf": [
710
+ {
711
+ "$ref": "#/$defs/examples"
712
+ },
713
+ {
714
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path"
715
+ },
716
+ {
717
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header"
718
+ },
719
+ {
720
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query"
721
+ },
722
+ {
723
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie"
724
+ },
725
+ {
726
+ "$ref": "#/$defs/styles-for-form"
727
+ }
728
+ ],
729
+ "properties": {
730
+ "explode": {
731
+ "type": "boolean"
732
+ },
733
+ "style": {
734
+ "type": "string"
735
+ }
736
+ },
737
+ "$defs": {
738
+ "styles-for-cookie": {
739
+ "if": {
740
+ "required": ["in"],
741
+ "properties": {
742
+ "in": {
743
+ "const": "cookie"
744
+ }
745
+ }
746
+ },
747
+ "then": {
748
+ "properties": {
749
+ "style": {
750
+ "default": "form",
751
+ "const": "form"
752
+ }
753
+ }
754
+ }
755
+ },
756
+ "styles-for-header": {
757
+ "if": {
758
+ "required": ["in"],
759
+ "properties": {
760
+ "in": {
761
+ "const": "header"
762
+ }
763
+ }
764
+ },
765
+ "then": {
766
+ "properties": {
767
+ "style": {
768
+ "default": "simple",
769
+ "const": "simple"
770
+ }
771
+ }
772
+ }
773
+ },
774
+ "styles-for-path": {
775
+ "if": {
776
+ "required": ["in"],
777
+ "properties": {
778
+ "in": {
779
+ "const": "path"
780
+ }
781
+ }
782
+ },
783
+ "then": {
784
+ "required": ["required"],
785
+ "properties": {
786
+ "required": {
787
+ "const": true
788
+ },
789
+ "style": {
790
+ "default": "simple",
791
+ "enum": ["matrix", "label", "simple"]
792
+ }
793
+ }
794
+ }
795
+ },
796
+ "styles-for-query": {
797
+ "if": {
798
+ "required": ["in"],
799
+ "properties": {
800
+ "in": {
801
+ "const": "query"
802
+ }
803
+ }
804
+ },
805
+ "then": {
806
+ "properties": {
807
+ "allowReserved": {
808
+ "default": false,
809
+ "type": "boolean"
810
+ },
811
+ "style": {
812
+ "default": "form",
813
+ "enum": ["form", "spaceDelimited", "pipeDelimited", "deepObject"]
814
+ }
815
+ }
816
+ }
817
+ }
818
+ }
819
+ }
820
+ }
821
+ },
822
+ "parameter-or-reference": {
823
+ "if": {
824
+ "type": "object",
825
+ "required": ["$ref"]
826
+ },
827
+ "then": {
828
+ "$ref": "#/$defs/reference"
829
+ },
830
+ "else": {
831
+ "$ref": "#/$defs/parameter"
832
+ }
833
+ },
834
+ "path-item": {
835
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#path-item-object",
836
+ "$ref": "#/$defs/specification-extensions",
837
+ "type": "object",
838
+ "properties": {
839
+ "description": {
840
+ "type": "string"
841
+ },
842
+ "$ref": {
843
+ "type": "string",
844
+ "format": "uri-reference"
845
+ },
846
+ "delete": {
847
+ "$ref": "#/$defs/operation"
848
+ },
849
+ "get": {
850
+ "$ref": "#/$defs/operation"
851
+ },
852
+ "head": {
853
+ "$ref": "#/$defs/operation"
854
+ },
855
+ "options": {
856
+ "$ref": "#/$defs/operation"
857
+ },
858
+ "parameters": {
859
+ "type": "array",
860
+ "items": {
861
+ "$ref": "#/$defs/parameter-or-reference"
862
+ }
863
+ },
864
+ "patch": {
865
+ "$ref": "#/$defs/operation"
866
+ },
867
+ "post": {
868
+ "$ref": "#/$defs/operation"
869
+ },
870
+ "put": {
871
+ "$ref": "#/$defs/operation"
872
+ },
873
+ "servers": {
874
+ "type": "array",
875
+ "items": {
876
+ "$ref": "#/$defs/server"
877
+ }
878
+ },
879
+ "summary": {
880
+ "type": "string"
881
+ },
882
+ "trace": {
883
+ "$ref": "#/$defs/operation"
884
+ }
885
+ },
886
+ "unevaluatedProperties": false
887
+ },
888
+ "paths": {
889
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#paths-object",
890
+ "$ref": "#/$defs/specification-extensions",
891
+ "type": "object",
892
+ "patternProperties": {
893
+ "^/": {
894
+ "$ref": "#/$defs/path-item"
895
+ }
896
+ },
897
+ "unevaluatedProperties": false
898
+ },
899
+ "reference": {
900
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#reference-object",
901
+ "type": "object",
902
+ "properties": {
903
+ "description": {
904
+ "type": "string"
905
+ },
906
+ "$ref": {
907
+ "type": "string",
908
+ "format": "uri-reference"
909
+ },
910
+ "summary": {
911
+ "type": "string"
912
+ }
913
+ }
914
+ },
915
+ "request-body": {
916
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#request-body-object",
917
+ "$ref": "#/$defs/specification-extensions",
918
+ "type": "object",
919
+ "required": ["content"],
920
+ "properties": {
921
+ "description": {
922
+ "type": "string"
923
+ },
924
+ "required": {
925
+ "default": false,
926
+ "type": "boolean"
927
+ },
928
+ "content": {
929
+ "$ref": "#/$defs/content"
930
+ }
931
+ },
932
+ "unevaluatedProperties": false
933
+ },
934
+ "request-body-or-reference": {
935
+ "if": {
936
+ "type": "object",
937
+ "required": ["$ref"]
938
+ },
939
+ "then": {
940
+ "$ref": "#/$defs/reference"
941
+ },
942
+ "else": {
943
+ "$ref": "#/$defs/request-body"
944
+ }
945
+ },
946
+ "response": {
947
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#response-object",
948
+ "$ref": "#/$defs/specification-extensions",
949
+ "type": "object",
950
+ "required": ["description"],
951
+ "properties": {
952
+ "description": {
953
+ "type": "string"
954
+ },
955
+ "content": {
956
+ "$ref": "#/$defs/content"
957
+ },
958
+ "headers": {
959
+ "type": "object",
960
+ "additionalProperties": {
961
+ "$ref": "#/$defs/header-or-reference"
962
+ }
963
+ },
964
+ "links": {
965
+ "type": "object",
966
+ "additionalProperties": {
967
+ "$ref": "#/$defs/link-or-reference"
968
+ }
969
+ }
970
+ },
971
+ "unevaluatedProperties": false
972
+ },
973
+ "response-or-reference": {
974
+ "if": {
975
+ "type": "object",
976
+ "required": ["$ref"]
977
+ },
978
+ "then": {
979
+ "$ref": "#/$defs/reference"
980
+ },
981
+ "else": {
982
+ "$ref": "#/$defs/response"
983
+ }
984
+ },
985
+ "responses": {
986
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#responses-object",
987
+ "$ref": "#/$defs/specification-extensions",
988
+ "type": "object",
989
+ "if": {
990
+ "$comment": "either default, or at least one response code property must exist",
991
+ "patternProperties": {
992
+ "^[1-5](?:[0-9]{2}|XX)$": false
993
+ }
994
+ },
995
+ "then": {
996
+ "required": ["default"]
997
+ },
998
+ "minProperties": 1,
999
+ "properties": {
1000
+ "default": {
1001
+ "$ref": "#/$defs/response-or-reference"
1002
+ }
1003
+ },
1004
+ "patternProperties": {
1005
+ "^[1-5](?:[0-9]{2}|XX)$": {
1006
+ "$ref": "#/$defs/response-or-reference"
1007
+ }
1008
+ },
1009
+ "unevaluatedProperties": false
1010
+ },
1011
+ "schema": {
1012
+ "$dynamicAnchor": "meta",
1013
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#schema-object",
1014
+ "type": ["object", "boolean"]
1015
+ },
1016
+ "security-requirement": {
1017
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#security-requirement-object",
1018
+ "type": "object",
1019
+ "additionalProperties": {
1020
+ "type": "array",
1021
+ "items": {
1022
+ "type": "string"
1023
+ }
1024
+ }
1025
+ },
1026
+ "security-scheme": {
1027
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#security-scheme-object",
1028
+ "type": "object",
1029
+ "allOf": [
1030
+ {
1031
+ "$ref": "#/$defs/specification-extensions"
1032
+ },
1033
+ {
1034
+ "$ref": "#/$defs/security-scheme/$defs/type-apikey"
1035
+ },
1036
+ {
1037
+ "$ref": "#/$defs/security-scheme/$defs/type-http"
1038
+ },
1039
+ {
1040
+ "$ref": "#/$defs/security-scheme/$defs/type-http-bearer"
1041
+ },
1042
+ {
1043
+ "$ref": "#/$defs/security-scheme/$defs/type-oauth2"
1044
+ },
1045
+ {
1046
+ "$ref": "#/$defs/security-scheme/$defs/type-oidc"
1047
+ }
1048
+ ],
1049
+ "required": ["type"],
1050
+ "properties": {
1051
+ "description": {
1052
+ "type": "string"
1053
+ },
1054
+ "type": {
1055
+ "enum": ["apiKey", "http", "mutualTLS", "oauth2", "openIdConnect"]
1056
+ }
1057
+ },
1058
+ "unevaluatedProperties": false,
1059
+ "$defs": {
1060
+ "type-apikey": {
1061
+ "if": {
1062
+ "required": ["type"],
1063
+ "properties": {
1064
+ "type": {
1065
+ "const": "apiKey"
1066
+ }
1067
+ }
1068
+ },
1069
+ "then": {
1070
+ "required": ["name", "in"],
1071
+ "properties": {
1072
+ "in": {
1073
+ "enum": ["query", "header", "cookie"]
1074
+ },
1075
+ "name": {
1076
+ "type": "string"
1077
+ }
1078
+ }
1079
+ }
1080
+ },
1081
+ "type-http": {
1082
+ "if": {
1083
+ "required": ["type"],
1084
+ "properties": {
1085
+ "type": {
1086
+ "const": "http"
1087
+ }
1088
+ }
1089
+ },
1090
+ "then": {
1091
+ "required": ["scheme"],
1092
+ "properties": {
1093
+ "scheme": {
1094
+ "type": "string"
1095
+ }
1096
+ }
1097
+ }
1098
+ },
1099
+ "type-http-bearer": {
1100
+ "if": {
1101
+ "required": ["type", "scheme"],
1102
+ "properties": {
1103
+ "type": {
1104
+ "const": "http"
1105
+ },
1106
+ "scheme": {
1107
+ "type": "string",
1108
+ "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
1109
+ }
1110
+ }
1111
+ },
1112
+ "then": {
1113
+ "properties": {
1114
+ "bearerFormat": {
1115
+ "type": "string"
1116
+ }
1117
+ }
1118
+ }
1119
+ },
1120
+ "type-oauth2": {
1121
+ "if": {
1122
+ "required": ["type"],
1123
+ "properties": {
1124
+ "type": {
1125
+ "const": "oauth2"
1126
+ }
1127
+ }
1128
+ },
1129
+ "then": {
1130
+ "required": ["flows"],
1131
+ "properties": {
1132
+ "flows": {
1133
+ "$ref": "#/$defs/oauth-flows"
1134
+ }
1135
+ }
1136
+ }
1137
+ },
1138
+ "type-oidc": {
1139
+ "if": {
1140
+ "required": ["type"],
1141
+ "properties": {
1142
+ "type": {
1143
+ "const": "openIdConnect"
1144
+ }
1145
+ }
1146
+ },
1147
+ "then": {
1148
+ "required": ["openIdConnectUrl"],
1149
+ "properties": {
1150
+ "openIdConnectUrl": {
1151
+ "type": "string",
1152
+ "format": "uri"
1153
+ }
1154
+ }
1155
+ }
1156
+ }
1157
+ }
1158
+ },
1159
+ "security-scheme-or-reference": {
1160
+ "if": {
1161
+ "type": "object",
1162
+ "required": ["$ref"]
1163
+ },
1164
+ "then": {
1165
+ "$ref": "#/$defs/reference"
1166
+ },
1167
+ "else": {
1168
+ "$ref": "#/$defs/security-scheme"
1169
+ }
1170
+ },
1171
+ "server": {
1172
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#server-object",
1173
+ "$ref": "#/$defs/specification-extensions",
1174
+ "type": "object",
1175
+ "required": ["url"],
1176
+ "properties": {
1177
+ "description": {
1178
+ "type": "string"
1179
+ },
1180
+ "url": {
1181
+ "type": "string"
1182
+ },
1183
+ "variables": {
1184
+ "type": "object",
1185
+ "additionalProperties": {
1186
+ "$ref": "#/$defs/server-variable"
1187
+ }
1188
+ }
1189
+ },
1190
+ "unevaluatedProperties": false
1191
+ },
1192
+ "server-variable": {
1193
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#server-variable-object",
1194
+ "$ref": "#/$defs/specification-extensions",
1195
+ "type": "object",
1196
+ "required": ["default"],
1197
+ "properties": {
1198
+ "description": {
1199
+ "type": "string"
1200
+ },
1201
+ "default": {
1202
+ "type": "string"
1203
+ },
1204
+ "enum": {
1205
+ "type": "array",
1206
+ "minItems": 1,
1207
+ "items": {
1208
+ "type": "string"
1209
+ }
1210
+ }
1211
+ },
1212
+ "unevaluatedProperties": false
1213
+ },
1214
+ "specification-extensions": {
1215
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#specification-extensions",
1216
+ "patternProperties": {
1217
+ "^x-": true
1218
+ }
1219
+ },
1220
+ "styles-for-form": {
1221
+ "if": {
1222
+ "required": ["style"],
1223
+ "properties": {
1224
+ "style": {
1225
+ "const": "form"
1226
+ }
1227
+ }
1228
+ },
1229
+ "then": {
1230
+ "properties": {
1231
+ "explode": {
1232
+ "default": true
1233
+ }
1234
+ }
1235
+ },
1236
+ "else": {
1237
+ "properties": {
1238
+ "explode": {
1239
+ "default": false
1240
+ }
1241
+ }
1242
+ }
1243
+ },
1244
+ "tag": {
1245
+ "$comment": "https://spec.openapis.org/oas/v3.1.0#tag-object",
1246
+ "$ref": "#/$defs/specification-extensions",
1247
+ "type": "object",
1248
+ "required": ["name"],
1249
+ "properties": {
1250
+ "description": {
1251
+ "type": "string"
1252
+ },
1253
+ "externalDocs": {
1254
+ "$ref": "#/$defs/external-documentation"
1255
+ },
1256
+ "name": {
1257
+ "type": "string"
1258
+ }
1259
+ },
1260
+ "unevaluatedProperties": false
1261
+ }
1262
+ }
1263
+ }