@amritk/lint 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +34 -1
  2. package/dist/rules/openapi/fixers.d.ts +7 -0
  3. package/dist/rules/openapi/fixers.js +189 -0
  4. package/dist/rules/openapi/formats.d.ts +13 -0
  5. package/dist/rules/openapi/formats.js +23 -0
  6. package/dist/rules/openapi/functions/example-validation.d.ts +5 -0
  7. package/dist/rules/openapi/functions/example-validation.js +97 -0
  8. package/dist/rules/openapi/functions/helpers.d.ts +3 -0
  9. package/dist/rules/openapi/functions/helpers.js +5 -0
  10. package/dist/rules/openapi/functions/index.d.ts +24 -0
  11. package/dist/rules/openapi/functions/index.js +67 -0
  12. package/dist/rules/openapi/functions/oas-additional-operations.d.ts +8 -0
  13. package/dist/rules/openapi/functions/oas-additional-operations.js +25 -0
  14. package/dist/rules/openapi/functions/oas-discriminator.d.ts +3 -0
  15. package/dist/rules/openapi/functions/oas-discriminator.js +23 -0
  16. package/dist/rules/openapi/functions/oas-example-value.d.ts +3 -0
  17. package/dist/rules/openapi/functions/oas-example-value.js +31 -0
  18. package/dist/rules/openapi/functions/oas-mutually-exclusive.d.ts +10 -0
  19. package/dist/rules/openapi/functions/oas-mutually-exclusive.js +20 -0
  20. package/dist/rules/openapi/functions/oas-op-form-data-consume-check.d.ts +3 -0
  21. package/dist/rules/openapi/functions/oas-op-form-data-consume-check.js +21 -0
  22. package/dist/rules/openapi/functions/oas-op-id-unique.d.ts +3 -0
  23. package/dist/rules/openapi/functions/oas-op-id-unique.js +27 -0
  24. package/dist/rules/openapi/functions/oas-op-params.d.ts +3 -0
  25. package/dist/rules/openapi/functions/oas-op-params.js +21 -0
  26. package/dist/rules/openapi/functions/oas-op-security-defined.d.ts +5 -0
  27. package/dist/rules/openapi/functions/oas-op-security-defined.js +44 -0
  28. package/dist/rules/openapi/functions/oas-op-success-response.d.ts +3 -0
  29. package/dist/rules/openapi/functions/oas-op-success-response.js +11 -0
  30. package/dist/rules/openapi/functions/oas-path-param.d.ts +3 -0
  31. package/dist/rules/openapi/functions/oas-path-param.js +45 -0
  32. package/dist/rules/openapi/functions/oas-schema-example-deprecated.d.ts +10 -0
  33. package/dist/rules/openapi/functions/oas-schema-example-deprecated.js +42 -0
  34. package/dist/rules/openapi/functions/oas-schema.d.ts +15 -0
  35. package/dist/rules/openapi/functions/oas-schema.js +15 -0
  36. package/dist/rules/openapi/functions/oas-server-name-unique.d.ts +3 -0
  37. package/dist/rules/openapi/functions/oas-server-name-unique.js +20 -0
  38. package/dist/rules/openapi/functions/oas-server-variables.d.ts +3 -0
  39. package/dist/rules/openapi/functions/oas-server-variables.js +23 -0
  40. package/dist/rules/openapi/functions/oas-tag-defined.d.ts +3 -0
  41. package/dist/rules/openapi/functions/oas-tag-defined.js +21 -0
  42. package/dist/rules/openapi/functions/oas-tag-kind.d.ts +3 -0
  43. package/dist/rules/openapi/functions/oas-tag-kind.js +17 -0
  44. package/dist/rules/openapi/functions/oas-tag-parent-defined.d.ts +7 -0
  45. package/dist/rules/openapi/functions/oas-tag-parent-defined.js +45 -0
  46. package/dist/rules/openapi/functions/oas-tags-unique.d.ts +3 -0
  47. package/dist/rules/openapi/functions/oas-tags-unique.js +17 -0
  48. package/dist/rules/openapi/functions/oas-unused-component.d.ts +7 -0
  49. package/dist/rules/openapi/functions/oas-unused-component.js +52 -0
  50. package/dist/rules/openapi/functions/ref-siblings.d.ts +3 -0
  51. package/dist/rules/openapi/functions/ref-siblings.js +13 -0
  52. package/dist/rules/openapi/index.d.ts +25 -0
  53. package/dist/rules/openapi/index.js +127 -0
  54. package/dist/rules/openapi/oas.d.ts +3 -0
  55. package/dist/rules/openapi/oas.js +492 -0
  56. package/dist/rules/openapi/schemas/index.d.ts +8 -0
  57. package/dist/rules/openapi/schemas/index.js +36 -0
  58. package/dist/rules/openapi/schemas/oas20.json +1592 -0
  59. package/dist/rules/openapi/schemas/oas30.json +1651 -0
  60. package/dist/rules/openapi/schemas/oas31.json +1412 -0
  61. package/dist/rules/openapi/schemas/oas32.json +1684 -0
  62. package/package.json +6 -2
@@ -0,0 +1,1684 @@
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
+ }