...

Text file src/github.com/google/gnostic-models/openapiv2/openapi-2.0.json

Documentation: github.com/google/gnostic-models/openapiv2

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

View as plain text