@amritk/lint 0.3.2 → 0.3.3

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