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