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