skooma 0.3.6 → 0.3.7

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