@hyperjump/json-schema 1.16.3 → 1.16.5

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.
@@ -1,5 +1,1665 @@
1
1
  export default {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "description": "The description of OpenAPI v3.2.x Documents without Schema Object validation",
4
- "$comment": "The schema is not published yet"
4
+ "type": "object",
5
+ "properties": {
6
+ "openapi": {
7
+ "type": "string",
8
+ "pattern": "^3\\.2\\.\\d+(-.+)?$"
9
+ },
10
+ "$self": {
11
+ "type": "string",
12
+ "format": "uri-reference",
13
+ "$comment": "MUST NOT contain a fragment",
14
+ "pattern": "^[^#]*$"
15
+ },
16
+ "info": {
17
+ "$ref": "#/$defs/info"
18
+ },
19
+ "jsonSchemaDialect": {
20
+ "type": "string",
21
+ "format": "uri-reference",
22
+ "default": "https://spec.openapis.org/oas/3.1/dialect"
23
+ },
24
+ "servers": {
25
+ "type": "array",
26
+ "items": {
27
+ "$ref": "#/$defs/server"
28
+ },
29
+ "default": [
30
+ {
31
+ "url": "/"
32
+ }
33
+ ]
34
+ },
35
+ "paths": {
36
+ "$ref": "#/$defs/paths"
37
+ },
38
+ "webhooks": {
39
+ "type": "object",
40
+ "additionalProperties": {
41
+ "$ref": "#/$defs/path-item"
42
+ }
43
+ },
44
+ "components": {
45
+ "$ref": "#/$defs/components"
46
+ },
47
+ "security": {
48
+ "type": "array",
49
+ "items": {
50
+ "$ref": "#/$defs/security-requirement"
51
+ }
52
+ },
53
+ "tags": {
54
+ "type": "array",
55
+ "items": {
56
+ "$ref": "#/$defs/tag"
57
+ }
58
+ },
59
+ "externalDocs": {
60
+ "$ref": "#/$defs/external-documentation"
61
+ }
62
+ },
63
+ "required": [
64
+ "openapi",
65
+ "info"
66
+ ],
67
+ "anyOf": [
68
+ {
69
+ "required": [
70
+ "paths"
71
+ ]
72
+ },
73
+ {
74
+ "required": [
75
+ "components"
76
+ ]
77
+ },
78
+ {
79
+ "required": [
80
+ "webhooks"
81
+ ]
82
+ }
83
+ ],
84
+ "$ref": "#/$defs/specification-extensions",
85
+ "unevaluatedProperties": false,
86
+ "$defs": {
87
+ "info": {
88
+ "$comment": "https://spec.openapis.org/oas/v3.2#info-object",
89
+ "type": "object",
90
+ "properties": {
91
+ "title": {
92
+ "type": "string"
93
+ },
94
+ "summary": {
95
+ "type": "string"
96
+ },
97
+ "description": {
98
+ "type": "string"
99
+ },
100
+ "termsOfService": {
101
+ "type": "string",
102
+ "format": "uri-reference"
103
+ },
104
+ "contact": {
105
+ "$ref": "#/$defs/contact"
106
+ },
107
+ "license": {
108
+ "$ref": "#/$defs/license"
109
+ },
110
+ "version": {
111
+ "type": "string"
112
+ }
113
+ },
114
+ "required": [
115
+ "title",
116
+ "version"
117
+ ],
118
+ "$ref": "#/$defs/specification-extensions",
119
+ "unevaluatedProperties": false
120
+ },
121
+ "contact": {
122
+ "$comment": "https://spec.openapis.org/oas/v3.2#contact-object",
123
+ "type": "object",
124
+ "properties": {
125
+ "name": {
126
+ "type": "string"
127
+ },
128
+ "url": {
129
+ "type": "string",
130
+ "format": "uri-reference"
131
+ },
132
+ "email": {
133
+ "type": "string",
134
+ "format": "email"
135
+ }
136
+ },
137
+ "$ref": "#/$defs/specification-extensions",
138
+ "unevaluatedProperties": false
139
+ },
140
+ "license": {
141
+ "$comment": "https://spec.openapis.org/oas/v3.2#license-object",
142
+ "type": "object",
143
+ "properties": {
144
+ "name": {
145
+ "type": "string"
146
+ },
147
+ "identifier": {
148
+ "type": "string"
149
+ },
150
+ "url": {
151
+ "type": "string",
152
+ "format": "uri-reference"
153
+ }
154
+ },
155
+ "required": [
156
+ "name"
157
+ ],
158
+ "dependentSchemas": {
159
+ "identifier": {
160
+ "not": {
161
+ "required": [
162
+ "url"
163
+ ]
164
+ }
165
+ }
166
+ },
167
+ "$ref": "#/$defs/specification-extensions",
168
+ "unevaluatedProperties": false
169
+ },
170
+ "server": {
171
+ "$comment": "https://spec.openapis.org/oas/v3.2#server-object",
172
+ "type": "object",
173
+ "properties": {
174
+ "url": {
175
+ "type": "string"
176
+ },
177
+ "description": {
178
+ "type": "string"
179
+ },
180
+ "name": {
181
+ "type": "string"
182
+ },
183
+ "variables": {
184
+ "type": "object",
185
+ "additionalProperties": {
186
+ "$ref": "#/$defs/server-variable"
187
+ }
188
+ }
189
+ },
190
+ "required": [
191
+ "url"
192
+ ],
193
+ "$ref": "#/$defs/specification-extensions",
194
+ "unevaluatedProperties": false
195
+ },
196
+ "server-variable": {
197
+ "$comment": "https://spec.openapis.org/oas/v3.2#server-variable-object",
198
+ "type": "object",
199
+ "properties": {
200
+ "enum": {
201
+ "type": "array",
202
+ "items": {
203
+ "type": "string"
204
+ },
205
+ "minItems": 1
206
+ },
207
+ "default": {
208
+ "type": "string"
209
+ },
210
+ "description": {
211
+ "type": "string"
212
+ }
213
+ },
214
+ "required": [
215
+ "default"
216
+ ],
217
+ "$ref": "#/$defs/specification-extensions",
218
+ "unevaluatedProperties": false
219
+ },
220
+ "components": {
221
+ "$comment": "https://spec.openapis.org/oas/v3.2#components-object",
222
+ "type": "object",
223
+ "properties": {
224
+ "schemas": {
225
+ "type": "object",
226
+ "additionalProperties": {
227
+ "$dynamicRef": "#meta"
228
+ }
229
+ },
230
+ "responses": {
231
+ "type": "object",
232
+ "additionalProperties": {
233
+ "$ref": "#/$defs/response-or-reference"
234
+ }
235
+ },
236
+ "parameters": {
237
+ "type": "object",
238
+ "additionalProperties": {
239
+ "$ref": "#/$defs/parameter-or-reference"
240
+ }
241
+ },
242
+ "examples": {
243
+ "type": "object",
244
+ "additionalProperties": {
245
+ "$ref": "#/$defs/example-or-reference"
246
+ }
247
+ },
248
+ "requestBodies": {
249
+ "type": "object",
250
+ "additionalProperties": {
251
+ "$ref": "#/$defs/request-body-or-reference"
252
+ }
253
+ },
254
+ "headers": {
255
+ "type": "object",
256
+ "additionalProperties": {
257
+ "$ref": "#/$defs/header-or-reference"
258
+ }
259
+ },
260
+ "securitySchemes": {
261
+ "type": "object",
262
+ "additionalProperties": {
263
+ "$ref": "#/$defs/security-scheme-or-reference"
264
+ }
265
+ },
266
+ "links": {
267
+ "type": "object",
268
+ "additionalProperties": {
269
+ "$ref": "#/$defs/link-or-reference"
270
+ }
271
+ },
272
+ "callbacks": {
273
+ "type": "object",
274
+ "additionalProperties": {
275
+ "$ref": "#/$defs/callbacks-or-reference"
276
+ }
277
+ },
278
+ "pathItems": {
279
+ "type": "object",
280
+ "additionalProperties": {
281
+ "$ref": "#/$defs/path-item"
282
+ }
283
+ },
284
+ "mediaTypes": {
285
+ "type": "object",
286
+ "additionalProperties": {
287
+ "$ref": "#/$defs/media-type-or-reference"
288
+ }
289
+ }
290
+ },
291
+ "patternProperties": {
292
+ "^(?:schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems|mediaTypes)$": {
293
+ "$comment": "Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected",
294
+ "propertyNames": {
295
+ "pattern": "^[a-zA-Z0-9._-]+$"
296
+ }
297
+ }
298
+ },
299
+ "$ref": "#/$defs/specification-extensions",
300
+ "unevaluatedProperties": false
301
+ },
302
+ "paths": {
303
+ "$comment": "https://spec.openapis.org/oas/v3.2#paths-object",
304
+ "type": "object",
305
+ "patternProperties": {
306
+ "^/": {
307
+ "$ref": "#/$defs/path-item"
308
+ }
309
+ },
310
+ "$ref": "#/$defs/specification-extensions",
311
+ "unevaluatedProperties": false
312
+ },
313
+ "path-item": {
314
+ "$comment": "https://spec.openapis.org/oas/v3.2#path-item-object",
315
+ "type": "object",
316
+ "properties": {
317
+ "$ref": {
318
+ "type": "string",
319
+ "format": "uri-reference"
320
+ },
321
+ "summary": {
322
+ "type": "string"
323
+ },
324
+ "description": {
325
+ "type": "string"
326
+ },
327
+ "servers": {
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "#/$defs/server"
331
+ }
332
+ },
333
+ "parameters": {
334
+ "$ref": "#/$defs/parameters"
335
+ },
336
+ "additionalOperations": {
337
+ "type": "object",
338
+ "additionalProperties": {
339
+ "$ref": "#/$defs/operation"
340
+ },
341
+ "propertyNames": {
342
+ "$comment": "RFC9110 restricts methods to \"1*tchar\" in ABNF",
343
+ "pattern": "^[a-zA-Z0-9!#$%&'*+.^_`|~-]+$",
344
+ "not": {
345
+ "enum": [
346
+ "GET",
347
+ "PUT",
348
+ "POST",
349
+ "DELETE",
350
+ "OPTIONS",
351
+ "HEAD",
352
+ "PATCH",
353
+ "TRACE",
354
+ "QUERY"
355
+ ]
356
+ }
357
+ }
358
+ },
359
+ "get": {
360
+ "$ref": "#/$defs/operation"
361
+ },
362
+ "put": {
363
+ "$ref": "#/$defs/operation"
364
+ },
365
+ "post": {
366
+ "$ref": "#/$defs/operation"
367
+ },
368
+ "delete": {
369
+ "$ref": "#/$defs/operation"
370
+ },
371
+ "options": {
372
+ "$ref": "#/$defs/operation"
373
+ },
374
+ "head": {
375
+ "$ref": "#/$defs/operation"
376
+ },
377
+ "patch": {
378
+ "$ref": "#/$defs/operation"
379
+ },
380
+ "trace": {
381
+ "$ref": "#/$defs/operation"
382
+ },
383
+ "query": {
384
+ "$ref": "#/$defs/operation"
385
+ }
386
+ },
387
+ "$ref": "#/$defs/specification-extensions",
388
+ "unevaluatedProperties": false
389
+ },
390
+ "operation": {
391
+ "$comment": "https://spec.openapis.org/oas/v3.2#operation-object",
392
+ "type": "object",
393
+ "properties": {
394
+ "tags": {
395
+ "type": "array",
396
+ "items": {
397
+ "type": "string"
398
+ }
399
+ },
400
+ "summary": {
401
+ "type": "string"
402
+ },
403
+ "description": {
404
+ "type": "string"
405
+ },
406
+ "externalDocs": {
407
+ "$ref": "#/$defs/external-documentation"
408
+ },
409
+ "operationId": {
410
+ "type": "string"
411
+ },
412
+ "parameters": {
413
+ "$ref": "#/$defs/parameters"
414
+ },
415
+ "requestBody": {
416
+ "$ref": "#/$defs/request-body-or-reference"
417
+ },
418
+ "responses": {
419
+ "$ref": "#/$defs/responses"
420
+ },
421
+ "callbacks": {
422
+ "type": "object",
423
+ "additionalProperties": {
424
+ "$ref": "#/$defs/callbacks-or-reference"
425
+ }
426
+ },
427
+ "deprecated": {
428
+ "default": false,
429
+ "type": "boolean"
430
+ },
431
+ "security": {
432
+ "type": "array",
433
+ "items": {
434
+ "$ref": "#/$defs/security-requirement"
435
+ }
436
+ },
437
+ "servers": {
438
+ "type": "array",
439
+ "items": {
440
+ "$ref": "#/$defs/server"
441
+ }
442
+ }
443
+ },
444
+ "$ref": "#/$defs/specification-extensions",
445
+ "unevaluatedProperties": false
446
+ },
447
+ "external-documentation": {
448
+ "$comment": "https://spec.openapis.org/oas/v3.2#external-documentation-object",
449
+ "type": "object",
450
+ "properties": {
451
+ "description": {
452
+ "type": "string"
453
+ },
454
+ "url": {
455
+ "type": "string",
456
+ "format": "uri-reference"
457
+ }
458
+ },
459
+ "required": [
460
+ "url"
461
+ ],
462
+ "$ref": "#/$defs/specification-extensions",
463
+ "unevaluatedProperties": false
464
+ },
465
+ "parameters": {
466
+ "type": "array",
467
+ "items": {
468
+ "$ref": "#/$defs/parameter-or-reference"
469
+ },
470
+ "not": {
471
+ "allOf": [
472
+ {
473
+ "contains": {
474
+ "type": "object",
475
+ "properties": {
476
+ "in": {
477
+ "const": "query"
478
+ }
479
+ },
480
+ "required": [
481
+ "in"
482
+ ]
483
+ }
484
+ },
485
+ {
486
+ "contains": {
487
+ "type": "object",
488
+ "properties": {
489
+ "in": {
490
+ "const": "querystring"
491
+ }
492
+ },
493
+ "required": [
494
+ "in"
495
+ ]
496
+ }
497
+ }
498
+ ]
499
+ },
500
+ "contains": {
501
+ "type": "object",
502
+ "properties": {
503
+ "in": {
504
+ "const": "querystring"
505
+ }
506
+ },
507
+ "required": [
508
+ "in"
509
+ ]
510
+ },
511
+ "minContains": 0,
512
+ "maxContains": 1
513
+ },
514
+ "parameter": {
515
+ "$comment": "https://spec.openapis.org/oas/v3.2#parameter-object",
516
+ "type": "object",
517
+ "properties": {
518
+ "name": {
519
+ "type": "string"
520
+ },
521
+ "in": {
522
+ "enum": [
523
+ "query",
524
+ "querystring",
525
+ "header",
526
+ "path",
527
+ "cookie"
528
+ ]
529
+ },
530
+ "description": {
531
+ "type": "string"
532
+ },
533
+ "required": {
534
+ "default": false,
535
+ "type": "boolean"
536
+ },
537
+ "deprecated": {
538
+ "default": false,
539
+ "type": "boolean"
540
+ },
541
+ "schema": {
542
+ "$dynamicRef": "#meta"
543
+ },
544
+ "content": {
545
+ "$ref": "#/$defs/content",
546
+ "minProperties": 1,
547
+ "maxProperties": 1
548
+ }
549
+ },
550
+ "required": [
551
+ "name",
552
+ "in"
553
+ ],
554
+ "oneOf": [
555
+ {
556
+ "required": [
557
+ "schema"
558
+ ]
559
+ },
560
+ {
561
+ "required": [
562
+ "content"
563
+ ]
564
+ }
565
+ ],
566
+ "allOf": [
567
+ {
568
+ "$ref": "#/$defs/examples"
569
+ },
570
+ {
571
+ "$ref": "#/$defs/specification-extensions"
572
+ },
573
+ {
574
+ "if": {
575
+ "properties": {
576
+ "in": {
577
+ "const": "query"
578
+ }
579
+ }
580
+ },
581
+ "then": {
582
+ "properties": {
583
+ "allowEmptyValue": {
584
+ "default": false,
585
+ "type": "boolean"
586
+ }
587
+ }
588
+ }
589
+ },
590
+ {
591
+ "if": {
592
+ "properties": {
593
+ "in": {
594
+ "const": "querystring"
595
+ }
596
+ }
597
+ },
598
+ "then": {
599
+ "required": [
600
+ "content"
601
+ ]
602
+ }
603
+ }
604
+ ],
605
+ "dependentSchemas": {
606
+ "schema": {
607
+ "properties": {
608
+ "style": {
609
+ "type": "string"
610
+ },
611
+ "explode": {
612
+ "type": "boolean"
613
+ },
614
+ "allowReserved": {
615
+ "default": false,
616
+ "type": "boolean"
617
+ }
618
+ },
619
+ "allOf": [
620
+ {
621
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path"
622
+ },
623
+ {
624
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header"
625
+ },
626
+ {
627
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query"
628
+ },
629
+ {
630
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie"
631
+ },
632
+ {
633
+ "$ref": "#/$defs/styles-for-form"
634
+ }
635
+ ],
636
+ "$defs": {
637
+ "styles-for-path": {
638
+ "if": {
639
+ "properties": {
640
+ "in": {
641
+ "const": "path"
642
+ }
643
+ }
644
+ },
645
+ "then": {
646
+ "properties": {
647
+ "style": {
648
+ "default": "simple",
649
+ "enum": [
650
+ "matrix",
651
+ "label",
652
+ "simple"
653
+ ]
654
+ },
655
+ "required": {
656
+ "const": true
657
+ }
658
+ },
659
+ "required": [
660
+ "required"
661
+ ]
662
+ }
663
+ },
664
+ "styles-for-header": {
665
+ "if": {
666
+ "properties": {
667
+ "in": {
668
+ "const": "header"
669
+ }
670
+ }
671
+ },
672
+ "then": {
673
+ "properties": {
674
+ "style": {
675
+ "default": "simple",
676
+ "const": "simple"
677
+ }
678
+ }
679
+ }
680
+ },
681
+ "styles-for-query": {
682
+ "if": {
683
+ "properties": {
684
+ "in": {
685
+ "const": "query"
686
+ }
687
+ }
688
+ },
689
+ "then": {
690
+ "properties": {
691
+ "style": {
692
+ "default": "form",
693
+ "enum": [
694
+ "form",
695
+ "spaceDelimited",
696
+ "pipeDelimited",
697
+ "deepObject"
698
+ ]
699
+ }
700
+ }
701
+ }
702
+ },
703
+ "styles-for-cookie": {
704
+ "if": {
705
+ "properties": {
706
+ "in": {
707
+ "const": "cookie"
708
+ }
709
+ }
710
+ },
711
+ "then": {
712
+ "properties": {
713
+ "style": {
714
+ "default": "form",
715
+ "enum": [
716
+ "form",
717
+ "cookie"
718
+ ]
719
+ }
720
+ }
721
+ }
722
+ }
723
+ }
724
+ }
725
+ },
726
+ "unevaluatedProperties": false
727
+ },
728
+ "parameter-or-reference": {
729
+ "if": {
730
+ "type": "object",
731
+ "required": [
732
+ "$ref"
733
+ ]
734
+ },
735
+ "then": {
736
+ "$ref": "#/$defs/reference"
737
+ },
738
+ "else": {
739
+ "$ref": "#/$defs/parameter"
740
+ }
741
+ },
742
+ "request-body": {
743
+ "$comment": "https://spec.openapis.org/oas/v3.2#request-body-object",
744
+ "type": "object",
745
+ "properties": {
746
+ "description": {
747
+ "type": "string"
748
+ },
749
+ "content": {
750
+ "$ref": "#/$defs/content"
751
+ },
752
+ "required": {
753
+ "default": false,
754
+ "type": "boolean"
755
+ }
756
+ },
757
+ "required": [
758
+ "content"
759
+ ],
760
+ "$ref": "#/$defs/specification-extensions",
761
+ "unevaluatedProperties": false
762
+ },
763
+ "request-body-or-reference": {
764
+ "if": {
765
+ "type": "object",
766
+ "required": [
767
+ "$ref"
768
+ ]
769
+ },
770
+ "then": {
771
+ "$ref": "#/$defs/reference"
772
+ },
773
+ "else": {
774
+ "$ref": "#/$defs/request-body"
775
+ }
776
+ },
777
+ "content": {
778
+ "$comment": "https://spec.openapis.org/oas/v3.2#fixed-fields-10",
779
+ "type": "object",
780
+ "additionalProperties": {
781
+ "$ref": "#/$defs/media-type-or-reference"
782
+ },
783
+ "propertyNames": {
784
+ "format": "media-range"
785
+ }
786
+ },
787
+ "media-type": {
788
+ "$comment": "https://spec.openapis.org/oas/v3.2#media-type-object",
789
+ "type": "object",
790
+ "properties": {
791
+ "description": {
792
+ "type": "string"
793
+ },
794
+ "schema": {
795
+ "$dynamicRef": "#meta"
796
+ },
797
+ "itemSchema": {
798
+ "$dynamicRef": "#meta"
799
+ },
800
+ "encoding": {
801
+ "type": "object",
802
+ "additionalProperties": {
803
+ "$ref": "#/$defs/encoding"
804
+ }
805
+ },
806
+ "prefixEncoding": {
807
+ "type": "array",
808
+ "items": {
809
+ "$ref": "#/$defs/encoding"
810
+ }
811
+ },
812
+ "itemEncoding": {
813
+ "$ref": "#/$defs/encoding"
814
+ }
815
+ },
816
+ "dependentSchemas": {
817
+ "encoding": {
818
+ "properties": {
819
+ "prefixEncoding": false,
820
+ "itemEncoding": false
821
+ }
822
+ }
823
+ },
824
+ "allOf": [
825
+ {
826
+ "$ref": "#/$defs/examples"
827
+ },
828
+ {
829
+ "$ref": "#/$defs/specification-extensions"
830
+ }
831
+ ],
832
+ "unevaluatedProperties": false
833
+ },
834
+ "media-type-or-reference": {
835
+ "if": {
836
+ "type": "object",
837
+ "required": [
838
+ "$ref"
839
+ ]
840
+ },
841
+ "then": {
842
+ "$ref": "#/$defs/reference"
843
+ },
844
+ "else": {
845
+ "$ref": "#/$defs/media-type"
846
+ }
847
+ },
848
+ "encoding": {
849
+ "$comment": "https://spec.openapis.org/oas/v3.2#encoding-object",
850
+ "type": "object",
851
+ "properties": {
852
+ "contentType": {
853
+ "type": "string",
854
+ "format": "media-range"
855
+ },
856
+ "headers": {
857
+ "type": "object",
858
+ "additionalProperties": {
859
+ "$ref": "#/$defs/header-or-reference"
860
+ }
861
+ },
862
+ "style": {
863
+ "enum": [
864
+ "form",
865
+ "spaceDelimited",
866
+ "pipeDelimited",
867
+ "deepObject"
868
+ ]
869
+ },
870
+ "explode": {
871
+ "type": "boolean"
872
+ },
873
+ "allowReserved": {
874
+ "type": "boolean"
875
+ },
876
+ "encoding": {
877
+ "type": "object",
878
+ "additionalProperties": {
879
+ "$ref": "#/$defs/encoding"
880
+ }
881
+ },
882
+ "prefixEncoding": {
883
+ "type": "array",
884
+ "items": {
885
+ "$ref": "#/$defs/encoding"
886
+ }
887
+ },
888
+ "itemEncoding": {
889
+ "$ref": "#/$defs/encoding"
890
+ }
891
+ },
892
+ "dependentSchemas": {
893
+ "encoding": {
894
+ "properties": {
895
+ "prefixEncoding": false,
896
+ "itemEncoding": false
897
+ }
898
+ },
899
+ "style": {
900
+ "properties": {
901
+ "allowReserved": {
902
+ "default": false
903
+ }
904
+ }
905
+ },
906
+ "explode": {
907
+ "properties": {
908
+ "style": {
909
+ "default": "form"
910
+ },
911
+ "allowReserved": {
912
+ "default": false
913
+ }
914
+ }
915
+ },
916
+ "allowReserved": {
917
+ "properties": {
918
+ "style": {
919
+ "default": "form"
920
+ }
921
+ }
922
+ }
923
+ },
924
+ "allOf": [
925
+ {
926
+ "$ref": "#/$defs/specification-extensions"
927
+ },
928
+ {
929
+ "$ref": "#/$defs/styles-for-form"
930
+ }
931
+ ],
932
+ "unevaluatedProperties": false
933
+ },
934
+ "responses": {
935
+ "$comment": "https://spec.openapis.org/oas/v3.2#responses-object",
936
+ "type": "object",
937
+ "properties": {
938
+ "default": {
939
+ "$ref": "#/$defs/response-or-reference"
940
+ }
941
+ },
942
+ "patternProperties": {
943
+ "^[1-5](?:[0-9]{2}|XX)$": {
944
+ "$ref": "#/$defs/response-or-reference"
945
+ }
946
+ },
947
+ "minProperties": 1,
948
+ "$ref": "#/$defs/specification-extensions",
949
+ "unevaluatedProperties": false,
950
+ "if": {
951
+ "$comment": "either default, or at least one response code property must exist",
952
+ "patternProperties": {
953
+ "^[1-5](?:[0-9]{2}|XX)$": false
954
+ }
955
+ },
956
+ "then": {
957
+ "required": [
958
+ "default"
959
+ ]
960
+ }
961
+ },
962
+ "response": {
963
+ "$comment": "https://spec.openapis.org/oas/v3.2#response-object",
964
+ "type": "object",
965
+ "properties": {
966
+ "summary": {
967
+ "type": "string"
968
+ },
969
+ "description": {
970
+ "type": "string"
971
+ },
972
+ "headers": {
973
+ "type": "object",
974
+ "additionalProperties": {
975
+ "$ref": "#/$defs/header-or-reference"
976
+ }
977
+ },
978
+ "content": {
979
+ "$ref": "#/$defs/content"
980
+ },
981
+ "links": {
982
+ "type": "object",
983
+ "additionalProperties": {
984
+ "$ref": "#/$defs/link-or-reference"
985
+ }
986
+ }
987
+ },
988
+ "$ref": "#/$defs/specification-extensions",
989
+ "unevaluatedProperties": false
990
+ },
991
+ "response-or-reference": {
992
+ "if": {
993
+ "type": "object",
994
+ "required": [
995
+ "$ref"
996
+ ]
997
+ },
998
+ "then": {
999
+ "$ref": "#/$defs/reference"
1000
+ },
1001
+ "else": {
1002
+ "$ref": "#/$defs/response"
1003
+ }
1004
+ },
1005
+ "callbacks": {
1006
+ "$comment": "https://spec.openapis.org/oas/v3.2#callback-object",
1007
+ "type": "object",
1008
+ "$ref": "#/$defs/specification-extensions",
1009
+ "additionalProperties": {
1010
+ "$ref": "#/$defs/path-item"
1011
+ }
1012
+ },
1013
+ "callbacks-or-reference": {
1014
+ "if": {
1015
+ "type": "object",
1016
+ "required": [
1017
+ "$ref"
1018
+ ]
1019
+ },
1020
+ "then": {
1021
+ "$ref": "#/$defs/reference"
1022
+ },
1023
+ "else": {
1024
+ "$ref": "#/$defs/callbacks"
1025
+ }
1026
+ },
1027
+ "example": {
1028
+ "$comment": "https://spec.openapis.org/oas/v3.2#example-object",
1029
+ "type": "object",
1030
+ "properties": {
1031
+ "summary": {
1032
+ "type": "string"
1033
+ },
1034
+ "description": {
1035
+ "type": "string"
1036
+ },
1037
+ "dataValue": true,
1038
+ "serializedValue": {
1039
+ "type": "string"
1040
+ },
1041
+ "value": true,
1042
+ "externalValue": {
1043
+ "type": "string",
1044
+ "format": "uri-reference"
1045
+ }
1046
+ },
1047
+ "allOf": [
1048
+ {
1049
+ "not": {
1050
+ "required": [
1051
+ "value",
1052
+ "externalValue"
1053
+ ]
1054
+ }
1055
+ },
1056
+ {
1057
+ "not": {
1058
+ "required": [
1059
+ "value",
1060
+ "dataValue"
1061
+ ]
1062
+ }
1063
+ },
1064
+ {
1065
+ "not": {
1066
+ "required": [
1067
+ "value",
1068
+ "serializedValue"
1069
+ ]
1070
+ }
1071
+ },
1072
+ {
1073
+ "not": {
1074
+ "required": [
1075
+ "serializedValue",
1076
+ "externalValue"
1077
+ ]
1078
+ }
1079
+ }
1080
+ ],
1081
+ "$ref": "#/$defs/specification-extensions",
1082
+ "unevaluatedProperties": false
1083
+ },
1084
+ "example-or-reference": {
1085
+ "if": {
1086
+ "type": "object",
1087
+ "required": [
1088
+ "$ref"
1089
+ ]
1090
+ },
1091
+ "then": {
1092
+ "$ref": "#/$defs/reference"
1093
+ },
1094
+ "else": {
1095
+ "$ref": "#/$defs/example"
1096
+ }
1097
+ },
1098
+ "link": {
1099
+ "$comment": "https://spec.openapis.org/oas/v3.2#link-object",
1100
+ "type": "object",
1101
+ "properties": {
1102
+ "operationRef": {
1103
+ "type": "string",
1104
+ "format": "uri-reference"
1105
+ },
1106
+ "operationId": {
1107
+ "type": "string"
1108
+ },
1109
+ "parameters": {
1110
+ "$ref": "#/$defs/map-of-strings"
1111
+ },
1112
+ "requestBody": true,
1113
+ "description": {
1114
+ "type": "string"
1115
+ },
1116
+ "server": {
1117
+ "$ref": "#/$defs/server"
1118
+ }
1119
+ },
1120
+ "oneOf": [
1121
+ {
1122
+ "required": [
1123
+ "operationRef"
1124
+ ]
1125
+ },
1126
+ {
1127
+ "required": [
1128
+ "operationId"
1129
+ ]
1130
+ }
1131
+ ],
1132
+ "$ref": "#/$defs/specification-extensions",
1133
+ "unevaluatedProperties": false
1134
+ },
1135
+ "link-or-reference": {
1136
+ "if": {
1137
+ "type": "object",
1138
+ "required": [
1139
+ "$ref"
1140
+ ]
1141
+ },
1142
+ "then": {
1143
+ "$ref": "#/$defs/reference"
1144
+ },
1145
+ "else": {
1146
+ "$ref": "#/$defs/link"
1147
+ }
1148
+ },
1149
+ "header": {
1150
+ "$comment": "https://spec.openapis.org/oas/v3.2#header-object",
1151
+ "type": "object",
1152
+ "properties": {
1153
+ "description": {
1154
+ "type": "string"
1155
+ },
1156
+ "required": {
1157
+ "default": false,
1158
+ "type": "boolean"
1159
+ },
1160
+ "deprecated": {
1161
+ "default": false,
1162
+ "type": "boolean"
1163
+ },
1164
+ "schema": {
1165
+ "$dynamicRef": "#meta"
1166
+ },
1167
+ "content": {
1168
+ "$ref": "#/$defs/content",
1169
+ "minProperties": 1,
1170
+ "maxProperties": 1
1171
+ }
1172
+ },
1173
+ "oneOf": [
1174
+ {
1175
+ "required": [
1176
+ "schema"
1177
+ ]
1178
+ },
1179
+ {
1180
+ "required": [
1181
+ "content"
1182
+ ]
1183
+ }
1184
+ ],
1185
+ "dependentSchemas": {
1186
+ "schema": {
1187
+ "properties": {
1188
+ "style": {
1189
+ "default": "simple",
1190
+ "const": "simple"
1191
+ },
1192
+ "explode": {
1193
+ "default": false,
1194
+ "type": "boolean"
1195
+ },
1196
+ "allowReserved": {
1197
+ "default": false,
1198
+ "type": "boolean"
1199
+ }
1200
+ }
1201
+ }
1202
+ },
1203
+ "allOf": [
1204
+ {
1205
+ "$ref": "#/$defs/examples"
1206
+ },
1207
+ {
1208
+ "$ref": "#/$defs/specification-extensions"
1209
+ }
1210
+ ],
1211
+ "unevaluatedProperties": false
1212
+ },
1213
+ "header-or-reference": {
1214
+ "if": {
1215
+ "type": "object",
1216
+ "required": [
1217
+ "$ref"
1218
+ ]
1219
+ },
1220
+ "then": {
1221
+ "$ref": "#/$defs/reference"
1222
+ },
1223
+ "else": {
1224
+ "$ref": "#/$defs/header"
1225
+ }
1226
+ },
1227
+ "tag": {
1228
+ "$comment": "https://spec.openapis.org/oas/v3.2#tag-object",
1229
+ "type": "object",
1230
+ "properties": {
1231
+ "name": {
1232
+ "type": "string"
1233
+ },
1234
+ "summary": {
1235
+ "type": "string"
1236
+ },
1237
+ "description": {
1238
+ "type": "string"
1239
+ },
1240
+ "externalDocs": {
1241
+ "$ref": "#/$defs/external-documentation"
1242
+ },
1243
+ "parent": {
1244
+ "type": "string"
1245
+ },
1246
+ "kind": {
1247
+ "type": "string"
1248
+ }
1249
+ },
1250
+ "required": [
1251
+ "name"
1252
+ ],
1253
+ "$ref": "#/$defs/specification-extensions",
1254
+ "unevaluatedProperties": false
1255
+ },
1256
+ "reference": {
1257
+ "$comment": "https://spec.openapis.org/oas/v3.2#reference-object",
1258
+ "type": "object",
1259
+ "properties": {
1260
+ "$ref": {
1261
+ "type": "string",
1262
+ "format": "uri-reference"
1263
+ },
1264
+ "summary": {
1265
+ "type": "string"
1266
+ },
1267
+ "description": {
1268
+ "type": "string"
1269
+ }
1270
+ }
1271
+ },
1272
+ "schema": {
1273
+ "$comment": "https://spec.openapis.org/oas/v3.2#schema-object",
1274
+ "$dynamicAnchor": "meta",
1275
+ "type": [
1276
+ "object",
1277
+ "boolean"
1278
+ ]
1279
+ },
1280
+ "security-scheme": {
1281
+ "$comment": "https://spec.openapis.org/oas/v3.2#security-scheme-object",
1282
+ "type": "object",
1283
+ "properties": {
1284
+ "type": {
1285
+ "enum": [
1286
+ "apiKey",
1287
+ "http",
1288
+ "mutualTLS",
1289
+ "oauth2",
1290
+ "openIdConnect"
1291
+ ]
1292
+ },
1293
+ "description": {
1294
+ "type": "string"
1295
+ },
1296
+ "deprecated": {
1297
+ "default": false,
1298
+ "type": "boolean"
1299
+ }
1300
+ },
1301
+ "required": [
1302
+ "type"
1303
+ ],
1304
+ "allOf": [
1305
+ {
1306
+ "$ref": "#/$defs/specification-extensions"
1307
+ },
1308
+ {
1309
+ "$ref": "#/$defs/security-scheme/$defs/type-apikey"
1310
+ },
1311
+ {
1312
+ "$ref": "#/$defs/security-scheme/$defs/type-http"
1313
+ },
1314
+ {
1315
+ "$ref": "#/$defs/security-scheme/$defs/type-http-bearer"
1316
+ },
1317
+ {
1318
+ "$ref": "#/$defs/security-scheme/$defs/type-oauth2"
1319
+ },
1320
+ {
1321
+ "$ref": "#/$defs/security-scheme/$defs/type-oidc"
1322
+ }
1323
+ ],
1324
+ "unevaluatedProperties": false,
1325
+ "$defs": {
1326
+ "type-apikey": {
1327
+ "if": {
1328
+ "properties": {
1329
+ "type": {
1330
+ "const": "apiKey"
1331
+ }
1332
+ }
1333
+ },
1334
+ "then": {
1335
+ "properties": {
1336
+ "name": {
1337
+ "type": "string"
1338
+ },
1339
+ "in": {
1340
+ "enum": [
1341
+ "query",
1342
+ "header",
1343
+ "cookie"
1344
+ ]
1345
+ }
1346
+ },
1347
+ "required": [
1348
+ "name",
1349
+ "in"
1350
+ ]
1351
+ }
1352
+ },
1353
+ "type-http": {
1354
+ "if": {
1355
+ "properties": {
1356
+ "type": {
1357
+ "const": "http"
1358
+ }
1359
+ }
1360
+ },
1361
+ "then": {
1362
+ "properties": {
1363
+ "scheme": {
1364
+ "type": "string"
1365
+ }
1366
+ },
1367
+ "required": [
1368
+ "scheme"
1369
+ ]
1370
+ }
1371
+ },
1372
+ "type-http-bearer": {
1373
+ "if": {
1374
+ "properties": {
1375
+ "type": {
1376
+ "const": "http"
1377
+ },
1378
+ "scheme": {
1379
+ "type": "string",
1380
+ "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
1381
+ }
1382
+ },
1383
+ "required": [
1384
+ "type",
1385
+ "scheme"
1386
+ ]
1387
+ },
1388
+ "then": {
1389
+ "properties": {
1390
+ "bearerFormat": {
1391
+ "type": "string"
1392
+ }
1393
+ }
1394
+ }
1395
+ },
1396
+ "type-oauth2": {
1397
+ "if": {
1398
+ "properties": {
1399
+ "type": {
1400
+ "const": "oauth2"
1401
+ }
1402
+ }
1403
+ },
1404
+ "then": {
1405
+ "properties": {
1406
+ "flows": {
1407
+ "$ref": "#/$defs/oauth-flows"
1408
+ },
1409
+ "oauth2MetadataUrl": {
1410
+ "type": "string",
1411
+ "format": "uri-reference"
1412
+ }
1413
+ },
1414
+ "required": [
1415
+ "flows"
1416
+ ]
1417
+ }
1418
+ },
1419
+ "type-oidc": {
1420
+ "if": {
1421
+ "properties": {
1422
+ "type": {
1423
+ "const": "openIdConnect"
1424
+ }
1425
+ }
1426
+ },
1427
+ "then": {
1428
+ "properties": {
1429
+ "openIdConnectUrl": {
1430
+ "type": "string",
1431
+ "format": "uri-reference"
1432
+ }
1433
+ },
1434
+ "required": [
1435
+ "openIdConnectUrl"
1436
+ ]
1437
+ }
1438
+ }
1439
+ }
1440
+ },
1441
+ "security-scheme-or-reference": {
1442
+ "if": {
1443
+ "type": "object",
1444
+ "required": [
1445
+ "$ref"
1446
+ ]
1447
+ },
1448
+ "then": {
1449
+ "$ref": "#/$defs/reference"
1450
+ },
1451
+ "else": {
1452
+ "$ref": "#/$defs/security-scheme"
1453
+ }
1454
+ },
1455
+ "oauth-flows": {
1456
+ "type": "object",
1457
+ "properties": {
1458
+ "implicit": {
1459
+ "$ref": "#/$defs/oauth-flows/$defs/implicit"
1460
+ },
1461
+ "password": {
1462
+ "$ref": "#/$defs/oauth-flows/$defs/password"
1463
+ },
1464
+ "clientCredentials": {
1465
+ "$ref": "#/$defs/oauth-flows/$defs/client-credentials"
1466
+ },
1467
+ "authorizationCode": {
1468
+ "$ref": "#/$defs/oauth-flows/$defs/authorization-code"
1469
+ },
1470
+ "deviceAuthorization": {
1471
+ "$ref": "#/$defs/oauth-flows/$defs/device-authorization"
1472
+ }
1473
+ },
1474
+ "$ref": "#/$defs/specification-extensions",
1475
+ "unevaluatedProperties": false,
1476
+ "$defs": {
1477
+ "implicit": {
1478
+ "type": "object",
1479
+ "properties": {
1480
+ "authorizationUrl": {
1481
+ "type": "string",
1482
+ "format": "uri-reference"
1483
+ },
1484
+ "refreshUrl": {
1485
+ "type": "string",
1486
+ "format": "uri-reference"
1487
+ },
1488
+ "scopes": {
1489
+ "$ref": "#/$defs/map-of-strings"
1490
+ }
1491
+ },
1492
+ "required": [
1493
+ "authorizationUrl",
1494
+ "scopes"
1495
+ ],
1496
+ "$ref": "#/$defs/specification-extensions",
1497
+ "unevaluatedProperties": false
1498
+ },
1499
+ "password": {
1500
+ "type": "object",
1501
+ "properties": {
1502
+ "tokenUrl": {
1503
+ "type": "string",
1504
+ "format": "uri-reference"
1505
+ },
1506
+ "refreshUrl": {
1507
+ "type": "string",
1508
+ "format": "uri-reference"
1509
+ },
1510
+ "scopes": {
1511
+ "$ref": "#/$defs/map-of-strings"
1512
+ }
1513
+ },
1514
+ "required": [
1515
+ "tokenUrl",
1516
+ "scopes"
1517
+ ],
1518
+ "$ref": "#/$defs/specification-extensions",
1519
+ "unevaluatedProperties": false
1520
+ },
1521
+ "client-credentials": {
1522
+ "type": "object",
1523
+ "properties": {
1524
+ "tokenUrl": {
1525
+ "type": "string",
1526
+ "format": "uri-reference"
1527
+ },
1528
+ "refreshUrl": {
1529
+ "type": "string",
1530
+ "format": "uri-reference"
1531
+ },
1532
+ "scopes": {
1533
+ "$ref": "#/$defs/map-of-strings"
1534
+ }
1535
+ },
1536
+ "required": [
1537
+ "tokenUrl",
1538
+ "scopes"
1539
+ ],
1540
+ "$ref": "#/$defs/specification-extensions",
1541
+ "unevaluatedProperties": false
1542
+ },
1543
+ "authorization-code": {
1544
+ "type": "object",
1545
+ "properties": {
1546
+ "authorizationUrl": {
1547
+ "type": "string",
1548
+ "format": "uri-reference"
1549
+ },
1550
+ "tokenUrl": {
1551
+ "type": "string",
1552
+ "format": "uri-reference"
1553
+ },
1554
+ "refreshUrl": {
1555
+ "type": "string",
1556
+ "format": "uri-reference"
1557
+ },
1558
+ "scopes": {
1559
+ "$ref": "#/$defs/map-of-strings"
1560
+ }
1561
+ },
1562
+ "required": [
1563
+ "authorizationUrl",
1564
+ "tokenUrl",
1565
+ "scopes"
1566
+ ],
1567
+ "$ref": "#/$defs/specification-extensions",
1568
+ "unevaluatedProperties": false
1569
+ },
1570
+ "device-authorization": {
1571
+ "type": "object",
1572
+ "properties": {
1573
+ "deviceAuthorizationUrl": {
1574
+ "type": "string",
1575
+ "format": "uri-reference"
1576
+ },
1577
+ "tokenUrl": {
1578
+ "type": "string",
1579
+ "format": "uri-reference"
1580
+ },
1581
+ "refreshUrl": {
1582
+ "type": "string",
1583
+ "format": "uri-reference"
1584
+ },
1585
+ "scopes": {
1586
+ "$ref": "#/$defs/map-of-strings"
1587
+ }
1588
+ },
1589
+ "required": [
1590
+ "deviceAuthorizationUrl",
1591
+ "tokenUrl",
1592
+ "scopes"
1593
+ ],
1594
+ "$ref": "#/$defs/specification-extensions",
1595
+ "unevaluatedProperties": false
1596
+ }
1597
+ }
1598
+ },
1599
+ "security-requirement": {
1600
+ "$comment": "https://spec.openapis.org/oas/v3.2#security-requirement-object",
1601
+ "type": "object",
1602
+ "additionalProperties": {
1603
+ "type": "array",
1604
+ "items": {
1605
+ "type": "string"
1606
+ }
1607
+ }
1608
+ },
1609
+ "specification-extensions": {
1610
+ "$comment": "https://spec.openapis.org/oas/v3.2#specification-extensions",
1611
+ "patternProperties": {
1612
+ "^x-": true
1613
+ }
1614
+ },
1615
+ "examples": {
1616
+ "properties": {
1617
+ "example": true,
1618
+ "examples": {
1619
+ "type": "object",
1620
+ "additionalProperties": {
1621
+ "$ref": "#/$defs/example-or-reference"
1622
+ }
1623
+ }
1624
+ },
1625
+ "not": {
1626
+ "required": [
1627
+ "example",
1628
+ "examples"
1629
+ ]
1630
+ }
1631
+ },
1632
+ "map-of-strings": {
1633
+ "type": "object",
1634
+ "additionalProperties": {
1635
+ "type": "string"
1636
+ }
1637
+ },
1638
+ "styles-for-form": {
1639
+ "if": {
1640
+ "properties": {
1641
+ "style": {
1642
+ "const": "form"
1643
+ }
1644
+ },
1645
+ "required": [
1646
+ "style"
1647
+ ]
1648
+ },
1649
+ "then": {
1650
+ "properties": {
1651
+ "explode": {
1652
+ "default": true
1653
+ }
1654
+ }
1655
+ },
1656
+ "else": {
1657
+ "properties": {
1658
+ "explode": {
1659
+ "default": false
1660
+ }
1661
+ }
1662
+ }
1663
+ }
1664
+ }
5
1665
  };