apivore 0.0.2

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