skooma 0.3.4 → 0.3.6

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,1408 @@
1
+ {
2
+ "$id": "https://spec.openapis.org/oas/3.1/schema/2025-02-13",
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
+ "required": [
489
+ "in"
490
+ ]
491
+ },
492
+ "then": {
493
+ "properties": {
494
+ "allowEmptyValue": {
495
+ "default": false,
496
+ "type": "boolean"
497
+ }
498
+ }
499
+ },
500
+ "dependentSchemas": {
501
+ "schema": {
502
+ "properties": {
503
+ "style": {
504
+ "type": "string"
505
+ },
506
+ "explode": {
507
+ "type": "boolean"
508
+ }
509
+ },
510
+ "allOf": [
511
+ {
512
+ "$ref": "#/$defs/examples"
513
+ },
514
+ {
515
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path"
516
+ },
517
+ {
518
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header"
519
+ },
520
+ {
521
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query"
522
+ },
523
+ {
524
+ "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie"
525
+ },
526
+ {
527
+ "$ref": "#/$defs/styles-for-form"
528
+ }
529
+ ],
530
+ "$defs": {
531
+ "styles-for-path": {
532
+ "if": {
533
+ "properties": {
534
+ "in": {
535
+ "const": "path"
536
+ }
537
+ },
538
+ "required": [
539
+ "in"
540
+ ]
541
+ },
542
+ "then": {
543
+ "properties": {
544
+ "style": {
545
+ "default": "simple",
546
+ "enum": [
547
+ "matrix",
548
+ "label",
549
+ "simple"
550
+ ]
551
+ },
552
+ "required": {
553
+ "const": true
554
+ }
555
+ },
556
+ "required": [
557
+ "required"
558
+ ]
559
+ }
560
+ },
561
+ "styles-for-header": {
562
+ "if": {
563
+ "properties": {
564
+ "in": {
565
+ "const": "header"
566
+ }
567
+ },
568
+ "required": [
569
+ "in"
570
+ ]
571
+ },
572
+ "then": {
573
+ "properties": {
574
+ "style": {
575
+ "default": "simple",
576
+ "const": "simple"
577
+ }
578
+ }
579
+ }
580
+ },
581
+ "styles-for-query": {
582
+ "if": {
583
+ "properties": {
584
+ "in": {
585
+ "const": "query"
586
+ }
587
+ },
588
+ "required": [
589
+ "in"
590
+ ]
591
+ },
592
+ "then": {
593
+ "properties": {
594
+ "style": {
595
+ "default": "form",
596
+ "enum": [
597
+ "form",
598
+ "spaceDelimited",
599
+ "pipeDelimited",
600
+ "deepObject"
601
+ ]
602
+ },
603
+ "allowReserved": {
604
+ "default": false,
605
+ "type": "boolean"
606
+ }
607
+ }
608
+ }
609
+ },
610
+ "styles-for-cookie": {
611
+ "if": {
612
+ "properties": {
613
+ "in": {
614
+ "const": "cookie"
615
+ }
616
+ },
617
+ "required": [
618
+ "in"
619
+ ]
620
+ },
621
+ "then": {
622
+ "properties": {
623
+ "style": {
624
+ "default": "form",
625
+ "const": "form"
626
+ }
627
+ }
628
+ }
629
+ }
630
+ }
631
+ }
632
+ },
633
+ "$ref": "#/$defs/specification-extensions",
634
+ "unevaluatedProperties": false
635
+ },
636
+ "parameter-or-reference": {
637
+ "if": {
638
+ "type": "object",
639
+ "required": [
640
+ "$ref"
641
+ ]
642
+ },
643
+ "then": {
644
+ "$ref": "#/$defs/reference"
645
+ },
646
+ "else": {
647
+ "$ref": "#/$defs/parameter"
648
+ }
649
+ },
650
+ "request-body": {
651
+ "$comment": "https://spec.openapis.org/oas/v3.1#request-body-object",
652
+ "type": "object",
653
+ "properties": {
654
+ "description": {
655
+ "type": "string"
656
+ },
657
+ "content": {
658
+ "$ref": "#/$defs/content"
659
+ },
660
+ "required": {
661
+ "default": false,
662
+ "type": "boolean"
663
+ }
664
+ },
665
+ "required": [
666
+ "content"
667
+ ],
668
+ "$ref": "#/$defs/specification-extensions",
669
+ "unevaluatedProperties": false
670
+ },
671
+ "request-body-or-reference": {
672
+ "if": {
673
+ "type": "object",
674
+ "required": [
675
+ "$ref"
676
+ ]
677
+ },
678
+ "then": {
679
+ "$ref": "#/$defs/reference"
680
+ },
681
+ "else": {
682
+ "$ref": "#/$defs/request-body"
683
+ }
684
+ },
685
+ "content": {
686
+ "$comment": "https://spec.openapis.org/oas/v3.1#fixed-fields-10",
687
+ "type": "object",
688
+ "additionalProperties": {
689
+ "$ref": "#/$defs/media-type"
690
+ },
691
+ "propertyNames": {
692
+ "format": "media-range"
693
+ }
694
+ },
695
+ "media-type": {
696
+ "$comment": "https://spec.openapis.org/oas/v3.1#media-type-object",
697
+ "type": "object",
698
+ "properties": {
699
+ "schema": {
700
+ "$dynamicRef": "#meta"
701
+ },
702
+ "encoding": {
703
+ "type": "object",
704
+ "additionalProperties": {
705
+ "$ref": "#/$defs/encoding"
706
+ }
707
+ }
708
+ },
709
+ "allOf": [
710
+ {
711
+ "$ref": "#/$defs/specification-extensions"
712
+ },
713
+ {
714
+ "$ref": "#/$defs/examples"
715
+ }
716
+ ],
717
+ "unevaluatedProperties": false
718
+ },
719
+ "encoding": {
720
+ "$comment": "https://spec.openapis.org/oas/v3.1#encoding-object",
721
+ "type": "object",
722
+ "properties": {
723
+ "contentType": {
724
+ "type": "string",
725
+ "format": "media-range"
726
+ },
727
+ "headers": {
728
+ "type": "object",
729
+ "additionalProperties": {
730
+ "$ref": "#/$defs/header-or-reference"
731
+ }
732
+ },
733
+ "style": {
734
+ "default": "form",
735
+ "enum": [
736
+ "form",
737
+ "spaceDelimited",
738
+ "pipeDelimited",
739
+ "deepObject"
740
+ ]
741
+ },
742
+ "explode": {
743
+ "type": "boolean"
744
+ },
745
+ "allowReserved": {
746
+ "default": false,
747
+ "type": "boolean"
748
+ }
749
+ },
750
+ "allOf": [
751
+ {
752
+ "$ref": "#/$defs/specification-extensions"
753
+ },
754
+ {
755
+ "$ref": "#/$defs/styles-for-form"
756
+ }
757
+ ],
758
+ "unevaluatedProperties": false
759
+ },
760
+ "responses": {
761
+ "$comment": "https://spec.openapis.org/oas/v3.1#responses-object",
762
+ "type": "object",
763
+ "properties": {
764
+ "default": {
765
+ "$ref": "#/$defs/response-or-reference"
766
+ }
767
+ },
768
+ "patternProperties": {
769
+ "^[1-5](?:[0-9]{2}|XX)$": {
770
+ "$ref": "#/$defs/response-or-reference"
771
+ }
772
+ },
773
+ "minProperties": 1,
774
+ "$ref": "#/$defs/specification-extensions",
775
+ "unevaluatedProperties": false,
776
+ "if": {
777
+ "$comment": "either default, or at least one response code property must exist",
778
+ "patternProperties": {
779
+ "^[1-5](?:[0-9]{2}|XX)$": false
780
+ }
781
+ },
782
+ "then": {
783
+ "required": [
784
+ "default"
785
+ ]
786
+ }
787
+ },
788
+ "response": {
789
+ "$comment": "https://spec.openapis.org/oas/v3.1#response-object",
790
+ "type": "object",
791
+ "properties": {
792
+ "description": {
793
+ "type": "string"
794
+ },
795
+ "headers": {
796
+ "type": "object",
797
+ "additionalProperties": {
798
+ "$ref": "#/$defs/header-or-reference"
799
+ }
800
+ },
801
+ "content": {
802
+ "$ref": "#/$defs/content"
803
+ },
804
+ "links": {
805
+ "type": "object",
806
+ "additionalProperties": {
807
+ "$ref": "#/$defs/link-or-reference"
808
+ }
809
+ }
810
+ },
811
+ "required": [
812
+ "description"
813
+ ],
814
+ "$ref": "#/$defs/specification-extensions",
815
+ "unevaluatedProperties": false
816
+ },
817
+ "response-or-reference": {
818
+ "if": {
819
+ "type": "object",
820
+ "required": [
821
+ "$ref"
822
+ ]
823
+ },
824
+ "then": {
825
+ "$ref": "#/$defs/reference"
826
+ },
827
+ "else": {
828
+ "$ref": "#/$defs/response"
829
+ }
830
+ },
831
+ "callbacks": {
832
+ "$comment": "https://spec.openapis.org/oas/v3.1#callback-object",
833
+ "type": "object",
834
+ "$ref": "#/$defs/specification-extensions",
835
+ "additionalProperties": {
836
+ "$ref": "#/$defs/path-item"
837
+ }
838
+ },
839
+ "callbacks-or-reference": {
840
+ "if": {
841
+ "type": "object",
842
+ "required": [
843
+ "$ref"
844
+ ]
845
+ },
846
+ "then": {
847
+ "$ref": "#/$defs/reference"
848
+ },
849
+ "else": {
850
+ "$ref": "#/$defs/callbacks"
851
+ }
852
+ },
853
+ "example": {
854
+ "$comment": "https://spec.openapis.org/oas/v3.1#example-object",
855
+ "type": "object",
856
+ "properties": {
857
+ "summary": {
858
+ "type": "string"
859
+ },
860
+ "description": {
861
+ "type": "string"
862
+ },
863
+ "value": true,
864
+ "externalValue": {
865
+ "type": "string",
866
+ "format": "uri-reference"
867
+ }
868
+ },
869
+ "not": {
870
+ "required": [
871
+ "value",
872
+ "externalValue"
873
+ ]
874
+ },
875
+ "$ref": "#/$defs/specification-extensions",
876
+ "unevaluatedProperties": false
877
+ },
878
+ "example-or-reference": {
879
+ "if": {
880
+ "type": "object",
881
+ "required": [
882
+ "$ref"
883
+ ]
884
+ },
885
+ "then": {
886
+ "$ref": "#/$defs/reference"
887
+ },
888
+ "else": {
889
+ "$ref": "#/$defs/example"
890
+ }
891
+ },
892
+ "link": {
893
+ "$comment": "https://spec.openapis.org/oas/v3.1#link-object",
894
+ "type": "object",
895
+ "properties": {
896
+ "operationRef": {
897
+ "type": "string",
898
+ "format": "uri-reference"
899
+ },
900
+ "operationId": {
901
+ "type": "string"
902
+ },
903
+ "parameters": {
904
+ "$ref": "#/$defs/map-of-strings"
905
+ },
906
+ "requestBody": true,
907
+ "description": {
908
+ "type": "string"
909
+ },
910
+ "body": {
911
+ "$ref": "#/$defs/server"
912
+ }
913
+ },
914
+ "oneOf": [
915
+ {
916
+ "required": [
917
+ "operationRef"
918
+ ]
919
+ },
920
+ {
921
+ "required": [
922
+ "operationId"
923
+ ]
924
+ }
925
+ ],
926
+ "$ref": "#/$defs/specification-extensions",
927
+ "unevaluatedProperties": false
928
+ },
929
+ "link-or-reference": {
930
+ "if": {
931
+ "type": "object",
932
+ "required": [
933
+ "$ref"
934
+ ]
935
+ },
936
+ "then": {
937
+ "$ref": "#/$defs/reference"
938
+ },
939
+ "else": {
940
+ "$ref": "#/$defs/link"
941
+ }
942
+ },
943
+ "header": {
944
+ "$comment": "https://spec.openapis.org/oas/v3.1#header-object",
945
+ "type": "object",
946
+ "properties": {
947
+ "description": {
948
+ "type": "string"
949
+ },
950
+ "required": {
951
+ "default": false,
952
+ "type": "boolean"
953
+ },
954
+ "deprecated": {
955
+ "default": false,
956
+ "type": "boolean"
957
+ },
958
+ "schema": {
959
+ "$dynamicRef": "#meta"
960
+ },
961
+ "content": {
962
+ "$ref": "#/$defs/content",
963
+ "minProperties": 1,
964
+ "maxProperties": 1
965
+ }
966
+ },
967
+ "oneOf": [
968
+ {
969
+ "required": [
970
+ "schema"
971
+ ]
972
+ },
973
+ {
974
+ "required": [
975
+ "content"
976
+ ]
977
+ }
978
+ ],
979
+ "dependentSchemas": {
980
+ "schema": {
981
+ "properties": {
982
+ "style": {
983
+ "default": "simple",
984
+ "const": "simple"
985
+ },
986
+ "explode": {
987
+ "default": false,
988
+ "type": "boolean"
989
+ }
990
+ },
991
+ "$ref": "#/$defs/examples"
992
+ }
993
+ },
994
+ "$ref": "#/$defs/specification-extensions",
995
+ "unevaluatedProperties": false
996
+ },
997
+ "header-or-reference": {
998
+ "if": {
999
+ "type": "object",
1000
+ "required": [
1001
+ "$ref"
1002
+ ]
1003
+ },
1004
+ "then": {
1005
+ "$ref": "#/$defs/reference"
1006
+ },
1007
+ "else": {
1008
+ "$ref": "#/$defs/header"
1009
+ }
1010
+ },
1011
+ "tag": {
1012
+ "$comment": "https://spec.openapis.org/oas/v3.1#tag-object",
1013
+ "type": "object",
1014
+ "properties": {
1015
+ "name": {
1016
+ "type": "string"
1017
+ },
1018
+ "description": {
1019
+ "type": "string"
1020
+ },
1021
+ "externalDocs": {
1022
+ "$ref": "#/$defs/external-documentation"
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "name"
1027
+ ],
1028
+ "$ref": "#/$defs/specification-extensions",
1029
+ "unevaluatedProperties": false
1030
+ },
1031
+ "reference": {
1032
+ "$comment": "https://spec.openapis.org/oas/v3.1#reference-object",
1033
+ "type": "object",
1034
+ "properties": {
1035
+ "$ref": {
1036
+ "type": "string",
1037
+ "format": "uri-reference"
1038
+ },
1039
+ "summary": {
1040
+ "type": "string"
1041
+ },
1042
+ "description": {
1043
+ "type": "string"
1044
+ }
1045
+ }
1046
+ },
1047
+ "schema": {
1048
+ "$comment": "https://spec.openapis.org/oas/v3.1#schema-object",
1049
+ "$dynamicAnchor": "meta",
1050
+ "type": [
1051
+ "object",
1052
+ "boolean"
1053
+ ]
1054
+ },
1055
+ "security-scheme": {
1056
+ "$comment": "https://spec.openapis.org/oas/v3.1#security-scheme-object",
1057
+ "type": "object",
1058
+ "properties": {
1059
+ "type": {
1060
+ "enum": [
1061
+ "apiKey",
1062
+ "http",
1063
+ "mutualTLS",
1064
+ "oauth2",
1065
+ "openIdConnect"
1066
+ ]
1067
+ },
1068
+ "description": {
1069
+ "type": "string"
1070
+ }
1071
+ },
1072
+ "required": [
1073
+ "type"
1074
+ ],
1075
+ "allOf": [
1076
+ {
1077
+ "$ref": "#/$defs/specification-extensions"
1078
+ },
1079
+ {
1080
+ "$ref": "#/$defs/security-scheme/$defs/type-apikey"
1081
+ },
1082
+ {
1083
+ "$ref": "#/$defs/security-scheme/$defs/type-http"
1084
+ },
1085
+ {
1086
+ "$ref": "#/$defs/security-scheme/$defs/type-http-bearer"
1087
+ },
1088
+ {
1089
+ "$ref": "#/$defs/security-scheme/$defs/type-oauth2"
1090
+ },
1091
+ {
1092
+ "$ref": "#/$defs/security-scheme/$defs/type-oidc"
1093
+ }
1094
+ ],
1095
+ "unevaluatedProperties": false,
1096
+ "$defs": {
1097
+ "type-apikey": {
1098
+ "if": {
1099
+ "properties": {
1100
+ "type": {
1101
+ "const": "apiKey"
1102
+ }
1103
+ },
1104
+ "required": [
1105
+ "type"
1106
+ ]
1107
+ },
1108
+ "then": {
1109
+ "properties": {
1110
+ "name": {
1111
+ "type": "string"
1112
+ },
1113
+ "in": {
1114
+ "enum": [
1115
+ "query",
1116
+ "header",
1117
+ "cookie"
1118
+ ]
1119
+ }
1120
+ },
1121
+ "required": [
1122
+ "name",
1123
+ "in"
1124
+ ]
1125
+ }
1126
+ },
1127
+ "type-http": {
1128
+ "if": {
1129
+ "properties": {
1130
+ "type": {
1131
+ "const": "http"
1132
+ }
1133
+ },
1134
+ "required": [
1135
+ "type"
1136
+ ]
1137
+ },
1138
+ "then": {
1139
+ "properties": {
1140
+ "scheme": {
1141
+ "type": "string"
1142
+ }
1143
+ },
1144
+ "required": [
1145
+ "scheme"
1146
+ ]
1147
+ }
1148
+ },
1149
+ "type-http-bearer": {
1150
+ "if": {
1151
+ "properties": {
1152
+ "type": {
1153
+ "const": "http"
1154
+ },
1155
+ "scheme": {
1156
+ "type": "string",
1157
+ "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
1158
+ }
1159
+ },
1160
+ "required": [
1161
+ "type",
1162
+ "scheme"
1163
+ ]
1164
+ },
1165
+ "then": {
1166
+ "properties": {
1167
+ "bearerFormat": {
1168
+ "type": "string"
1169
+ }
1170
+ }
1171
+ }
1172
+ },
1173
+ "type-oauth2": {
1174
+ "if": {
1175
+ "properties": {
1176
+ "type": {
1177
+ "const": "oauth2"
1178
+ }
1179
+ },
1180
+ "required": [
1181
+ "type"
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
+ "required": [
1203
+ "type"
1204
+ ]
1205
+ },
1206
+ "then": {
1207
+ "properties": {
1208
+ "openIdConnectUrl": {
1209
+ "type": "string",
1210
+ "format": "uri-reference"
1211
+ }
1212
+ },
1213
+ "required": [
1214
+ "openIdConnectUrl"
1215
+ ]
1216
+ }
1217
+ }
1218
+ }
1219
+ },
1220
+ "security-scheme-or-reference": {
1221
+ "if": {
1222
+ "type": "object",
1223
+ "required": [
1224
+ "$ref"
1225
+ ]
1226
+ },
1227
+ "then": {
1228
+ "$ref": "#/$defs/reference"
1229
+ },
1230
+ "else": {
1231
+ "$ref": "#/$defs/security-scheme"
1232
+ }
1233
+ },
1234
+ "oauth-flows": {
1235
+ "type": "object",
1236
+ "properties": {
1237
+ "implicit": {
1238
+ "$ref": "#/$defs/oauth-flows/$defs/implicit"
1239
+ },
1240
+ "password": {
1241
+ "$ref": "#/$defs/oauth-flows/$defs/password"
1242
+ },
1243
+ "clientCredentials": {
1244
+ "$ref": "#/$defs/oauth-flows/$defs/client-credentials"
1245
+ },
1246
+ "authorizationCode": {
1247
+ "$ref": "#/$defs/oauth-flows/$defs/authorization-code"
1248
+ }
1249
+ },
1250
+ "$ref": "#/$defs/specification-extensions",
1251
+ "unevaluatedProperties": false,
1252
+ "$defs": {
1253
+ "implicit": {
1254
+ "type": "object",
1255
+ "properties": {
1256
+ "authorizationUrl": {
1257
+ "type": "string",
1258
+ "format": "uri-reference"
1259
+ },
1260
+ "refreshUrl": {
1261
+ "type": "string",
1262
+ "format": "uri-reference"
1263
+ },
1264
+ "scopes": {
1265
+ "$ref": "#/$defs/map-of-strings"
1266
+ }
1267
+ },
1268
+ "required": [
1269
+ "authorizationUrl",
1270
+ "scopes"
1271
+ ],
1272
+ "$ref": "#/$defs/specification-extensions",
1273
+ "unevaluatedProperties": false
1274
+ },
1275
+ "password": {
1276
+ "type": "object",
1277
+ "properties": {
1278
+ "tokenUrl": {
1279
+ "type": "string",
1280
+ "format": "uri-reference"
1281
+ },
1282
+ "refreshUrl": {
1283
+ "type": "string",
1284
+ "format": "uri-reference"
1285
+ },
1286
+ "scopes": {
1287
+ "$ref": "#/$defs/map-of-strings"
1288
+ }
1289
+ },
1290
+ "required": [
1291
+ "tokenUrl",
1292
+ "scopes"
1293
+ ],
1294
+ "$ref": "#/$defs/specification-extensions",
1295
+ "unevaluatedProperties": false
1296
+ },
1297
+ "client-credentials": {
1298
+ "type": "object",
1299
+ "properties": {
1300
+ "tokenUrl": {
1301
+ "type": "string",
1302
+ "format": "uri-reference"
1303
+ },
1304
+ "refreshUrl": {
1305
+ "type": "string",
1306
+ "format": "uri-reference"
1307
+ },
1308
+ "scopes": {
1309
+ "$ref": "#/$defs/map-of-strings"
1310
+ }
1311
+ },
1312
+ "required": [
1313
+ "tokenUrl",
1314
+ "scopes"
1315
+ ],
1316
+ "$ref": "#/$defs/specification-extensions",
1317
+ "unevaluatedProperties": false
1318
+ },
1319
+ "authorization-code": {
1320
+ "type": "object",
1321
+ "properties": {
1322
+ "authorizationUrl": {
1323
+ "type": "string",
1324
+ "format": "uri-reference"
1325
+ },
1326
+ "tokenUrl": {
1327
+ "type": "string",
1328
+ "format": "uri-reference"
1329
+ },
1330
+ "refreshUrl": {
1331
+ "type": "string",
1332
+ "format": "uri-reference"
1333
+ },
1334
+ "scopes": {
1335
+ "$ref": "#/$defs/map-of-strings"
1336
+ }
1337
+ },
1338
+ "required": [
1339
+ "authorizationUrl",
1340
+ "tokenUrl",
1341
+ "scopes"
1342
+ ],
1343
+ "$ref": "#/$defs/specification-extensions",
1344
+ "unevaluatedProperties": false
1345
+ }
1346
+ }
1347
+ },
1348
+ "security-requirement": {
1349
+ "$comment": "https://spec.openapis.org/oas/v3.1#security-requirement-object",
1350
+ "type": "object",
1351
+ "additionalProperties": {
1352
+ "type": "array",
1353
+ "items": {
1354
+ "type": "string"
1355
+ }
1356
+ }
1357
+ },
1358
+ "specification-extensions": {
1359
+ "$comment": "https://spec.openapis.org/oas/v3.1#specification-extensions",
1360
+ "patternProperties": {
1361
+ "^x-": true
1362
+ }
1363
+ },
1364
+ "examples": {
1365
+ "properties": {
1366
+ "example": true,
1367
+ "examples": {
1368
+ "type": "object",
1369
+ "additionalProperties": {
1370
+ "$ref": "#/$defs/example-or-reference"
1371
+ }
1372
+ }
1373
+ }
1374
+ },
1375
+ "map-of-strings": {
1376
+ "type": "object",
1377
+ "additionalProperties": {
1378
+ "type": "string"
1379
+ }
1380
+ },
1381
+ "styles-for-form": {
1382
+ "if": {
1383
+ "properties": {
1384
+ "style": {
1385
+ "const": "form"
1386
+ }
1387
+ },
1388
+ "required": [
1389
+ "style"
1390
+ ]
1391
+ },
1392
+ "then": {
1393
+ "properties": {
1394
+ "explode": {
1395
+ "default": true
1396
+ }
1397
+ }
1398
+ },
1399
+ "else": {
1400
+ "properties": {
1401
+ "explode": {
1402
+ "default": false
1403
+ }
1404
+ }
1405
+ }
1406
+ }
1407
+ }
1408
+ }