@hyperjump/json-schema 1.0.0 → 1.1.0

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