@scalar/openapi-parser 0.25.4 → 0.25.6

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