@scalar/openapi-parser 0.28.16 → 0.29.1

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