{ "title": "Metadata", "type": "object", "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "tags": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "A list of tags used by the specification with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the [Operation Object](swagger.io/specification/#operationObject) must be declared. The tags that are not declared may be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique. See {@link http://swagger.io/specification/#tagObject Tag Object}." }, "summary": { "type": "string", "description": "A brief summary of the operation." }, "description": { "type": "string", "description": "A longer description of the operation, GitHub Flavored Markdown is allowed." }, "externalDocs": { "$ref": "#/definitions/externalDocs" }, "operationId": { "type": "string", "description": "A unique identifier of the operation." }, "produces": { "description": "A list of MIME types the API can produce.", "$ref": "#/definitions/mediaTypeList" }, "consumes": { "description": "A list of MIME types the API can consume.", "$ref": "#/definitions/mediaTypeList" }, "parameters": { "$ref": "#/definitions/parametersList" }, "responses": { "$ref": "#/definitions/responses" }, "schemes": { "$ref": "#/definitions/schemesList" }, "deprecated": { "type": "boolean", "default": false, "description": "Declares this operation to be deprecated. Usage of the declared operation should be refrained. Default value is false." }, "security": { "$ref": "#/definitions/security", "description": "A declaration of which security schemes are applied for the API as a whole. The list of values describes alternative security schemes that can be used (that is, there is a logical OR between the security requirements). Individual operations can override this definition. See {@link http://swagger.io/specification/#securityRequirementObject Security Requirement Object}." }, "common": { "$ref": "#/definitions/common" } }, "definitions": { "vendorExtension": { "description": "Any property starting with x- is valid.", "additionalProperties": true, "additionalItems": true }, "externalDocs": { "type": "object", "additionalProperties": false, "description": "information about external documentation", "required": [ "url" ], "properties": { "description": { "type": "string", "description": "A short description of the target documentation. GFM syntax can be used for rich text representation." }, "url": { "type": "string", "format": "uri", "description": "Required. The URL for the target documentation. Value MUST be in the format of a URL." } }, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } } }, "mediaTypeList": { "type": "array", "items": { "$ref": "#/definitions/mimeType" }, "uniqueItems": true }, "mimeType": { "type": "string", "description": "The MIME type of the HTTP message." }, "parametersList": { "type": "array", "description": "An object to hold parameters that can be used across operations. This property does not define global parameters for all operations. See {@link http://swagger.io/specification/#parametersDefinitionsObject Parameter Definitions Object}.", "additionalItems": false, "items": { "oneOf": [ { "$ref": "#/definitions/parameter" }, { "$ref": "#/definitions/jsonReference" } ] }, "uniqueItems": true }, "parameter": { "oneOf": [ { "$ref": "#/definitions/bodyParameter" }, { "$ref": "#/definitions/nonBodyParameter" } ] }, "bodyParameter": { "title": "Body parameter", "type": "object", "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "description": { "type": "string", "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." }, "name": { "type": "string", "description": "The name of the parameter." }, "in": { "type": "string", "description": "Determines the location of the parameter.", "enum": [ "body" ] }, "required": { "type": "boolean", "description": "Determines whether or not this parameter is required or optional.", "default": false }, "schema": { "$ref": "#/definitions/schema" }, "model": { "type": "string", "description": "The name of the model produced or consumed." }, "arrayOfModel": { "type": "string", "description": "The name of the model produced or consumed as an array." } }, "additionalProperties": false, "allOf": [ { "required": [ "name", "in" ] }, { "anyOf": [ { "required": [ "schema" ] }, { "required": [ "model" ] }, { "required": [ "arrayOfModel" ] } ] } ], "description": "The payload that's appended to the HTTP request. Since there can only be one payload, there can only be one body parameter. The name of the body parameter has no effect on the parameter itself and is used for documentation purposes only. Since Form parameters are also in the payload, body and form parameters cannot exist together for the same operation." }, "schema": { "title": "Schema", "type": "object", "description": "A deterministic version of a JSON Schema object.", "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "$ref": { "type": "string" }, "format": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "default": {}, "multipleOf": { "type": "number", "minimum": 0, "exclusiveMinimum": 0 }, "maximum": { "type": "number" }, "exclusiveMaximum": { "type": "boolean", "default": false }, "minimum": { "type": "number" }, "exclusiveMinimum": { "type": "boolean", "default": false }, "maxLength": { "$ref": "#/definitions/positiveInteger" }, "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" }, "pattern": { "type": "string", "format": "regex" }, "maxItems": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" }, "minItems": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" }, "uniqueItems": { "type": "boolean", "default": false }, "maxProperties": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" }, "minProperties": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" }, "required": { "$ref": "#/definitions/stringArray" }, "enum": { "type": "array", "minItems": 1, "uniqueItems": true }, "additionalProperties": { "anyOf": [ { "$ref": "#/definitions/schema" }, { "type": "boolean" } ], "default": {} }, "type": { "anyOf": [ { "$ref": "#/definitions/simpleTypes" }, { "type": "array", "items": { "$ref": "#/definitions/simpleTypes" }, "minItems": 1, "uniqueItems": true } ] }, "items": { "anyOf": [ { "$ref": "#/definitions/schema" }, { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/schema" } } ], "default": {} }, "allOf": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/schema" } }, "properties": { "type": "object", "additionalProperties": { "$ref": "#/definitions/schema" }, "default": {} }, "discriminator": { "type": "string" }, "readOnly": { "type": "boolean", "default": false }, "xml": { "$ref": "#/definitions/xml" }, "externalDocs": { "$ref": "#/definitions/externalDocs" }, "example": {}, "$id": { "type": "string", "format": "uri-reference" } }, "additionalProperties": false }, "positiveInteger": { "type": "integer", "minimum": 0 }, "positiveIntegerDefault0": { "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ] }, "stringArray": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true }, "simpleTypes": { "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] }, "xml": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string" }, "namespace": { "type": "string" }, "prefix": { "type": "string" }, "attribute": { "type": "boolean", "default": false }, "wrapped": { "type": "boolean", "default": false } }, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } } }, "nonBodyParameter": { "type": "object", "required": [ "name", "in", "type" ], "oneOf": [ { "$ref": "#/definitions/headerParameterSubSchema" }, { "$ref": "#/definitions/formDataParameterSubSchema" }, { "$ref": "#/definitions/queryParameterSubSchema" }, { "$ref": "#/definitions/pathParameterSubSchema" } ] }, "headerParameterSubSchema": { "title": "Header parameter sub schema", "type": "object", "required": [ "name", "in", "type" ], "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "required": { "type": "boolean", "description": "Determines whether or not this parameter is required or optional.", "default": false }, "in": { "type": "string", "description": "Determines the location of the parameter.", "enum": [ "header" ] }, "description": { "type": "string", "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." }, "name": { "type": "string", "description": "The name of the parameter." }, "type": { "type": "string", "enum": [ "string", "number", "boolean", "integer", "array" ], "description": "**Required.** The type of the parameter. Since the parameter is not located at the request body, it is limited to simple types (that is, not an object). The value MUST be one of `string`, `number`, `integer`, `boolean`, `array` or `file`. If type is `file`, the [consumes](http://swagger.io/specification/#operationConsumes) MUST be either `multipart/form-data`, `application/x-www-form-urlencoded` or both and the parameter MUST be in `formData`." }, "format": { "type": "string", "description": "The extending format for the previously mentioned [type](http://swagger.io/specification/#parameterType). See [Data Type Formats](http://swagger.io/specification/#dataTypeFormat) for further details." }, "items": { "$ref": "#/definitions/primitivesItems", "description": "Required if [type](http://swagger.io/specification/#parameterType) is `array`. Describes the type of items in the array." }, "collectionFormat": { "$ref": "#/definitions/collectionFormat", "description": "Determines the format of the array if type array is used. Possible values are:\r\n\r\n- csv comma separated values foo,bar.\r\n- ssv space separated values foo bar.\r\n- tsv tab separated values foo\tbar.\r\n- pipes pipe separated values foo|bar.\r\n- multi corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in `query` or `formData`.\r\n\r\nDefault value is csv." }, "default": { "$ref": "#/definitions/default", "description": "Declares the value of the parameter that the server will use if none is provided, for example a `count` to control the number of results per page might default to 100 if not supplied by the client in the request. (Note: `default` has no meaning for required parameters.) See [http://json-schema.org/latest/json-schema-validation.html#anchor101](http://json-schema.org/latest/json-schema-validation.html#anchor101). Unlike JSON Schema this value MUST conform to the defined type for this parameter." }, "maximum": { "$ref": "#/definitions/maximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "minimum": { "$ref": "#/definitions/minimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "maxLength": { "$ref": "#/definitions/maxLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor26)." }, "minLength": { "$ref": "#/definitions/minLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor29)." }, "pattern": { "$ref": "#/definitions/pattern", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor33)." }, "maxItems": { "$ref": "#/definitions/maxItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor42)." }, "minItems": { "$ref": "#/definitions/minItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor45)." }, "uniqueItems": { "$ref": "#/definitions/uniqueItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor49)." }, "enum": { "$ref": "#/definitions/enum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor76)." }, "multipleOf": { "$ref": "#/definitions/multipleOf", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor14)." } }, "description": "Custom headers that are expected as part of the request." }, "primitivesItems": { "type": "object", "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "string", "number", "integer", "boolean", "array" ] }, "format": { "type": "string" }, "items": { "$ref": "#/definitions/primitivesItems" }, "collectionFormat": { "$ref": "#/definitions/collectionFormat" }, "default": { "$ref": "#/definitions/default" }, "maximum": { "$ref": "#/definitions/maximum" }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum" }, "minimum": { "$ref": "#/definitions/minimum" }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum" }, "maxLength": { "$ref": "#/definitions/maxLength" }, "minLength": { "$ref": "#/definitions/minLength" }, "pattern": { "$ref": "#/definitions/pattern" }, "maxItems": { "$ref": "#/definitions/maxItems" }, "minItems": { "$ref": "#/definitions/minItems" }, "uniqueItems": { "$ref": "#/definitions/uniqueItems" }, "enum": { "$ref": "#/definitions/enum" }, "multipleOf": { "$ref": "#/definitions/multipleOf" } }, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } } }, "collectionFormat": { "type": "string", "enum": [ "csv", "ssv", "tsv", "pipes" ], "default": "csv" }, "default": {}, "maximum": { "type": "number" }, "exclusiveMaximum": { "type": "boolean", "default": false }, "minimum": { "type": "number" }, "exclusiveMinimum": { "type": "boolean", "default": false }, "maxLength": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" }, "minLength": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" }, "pattern": { "type": "string", "format": "regex" }, "maxItems": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" }, "minItems": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" }, "uniqueItems": { "type": "boolean", "default": false }, "enum": { "type": "array", "minItems": 1, "uniqueItems": true }, "multipleOf": { "type": "number", "minimum": 0, "exclusiveMinimum": 0 }, "formDataParameterSubSchema": { "title": "Form data parameter sub schema", "type": "object", "required": [ "name", "in", "type" ], "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "required": { "type": "boolean", "description": "Determines whether or not this parameter is required or optional.", "default": false }, "in": { "type": "string", "description": "Determines the location of the parameter.", "enum": [ "formData" ] }, "description": { "type": "string", "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." }, "name": { "type": "string", "description": "The name of the parameter." }, "allowEmptyValue": { "type": "boolean", "default": false, "description": "allows sending a parameter by name only or with an empty value." }, "type": { "type": "string", "enum": [ "string", "number", "boolean", "integer", "array", "file" ], "description": "**Required.** The type of the parameter. Since the parameter is not located at the request body, it is limited to simple types (that is, not an object). The value MUST be one of `string`, `number`, `integer`, `boolean`, `array` or `file`. If type is `file`, the [consumes](http://swagger.io/specification/#operationConsumes) MUST be either `multipart/form-data`, `application/x-www-form-urlencoded` or both and the parameter MUST be in `formData`." }, "format": { "type": "string", "description": "The extending format for the previously mentioned [type](http://swagger.io/specification/#parameterType). See [Data Type Formats](http://swagger.io/specification/#dataTypeFormat) for further details." }, "items": { "$ref": "#/definitions/primitivesItems", "description": "Required if [type](http://swagger.io/specification/#parameterType) is `array`. Describes the type of items in the array." }, "collectionFormat": { "$ref": "#/definitions/collectionFormatWithMulti", "description": "Determines the format of the array if type array is used. Possible values are:\r\n\r\n- csv comma separated values foo,bar.\r\n- ssv space separated values foo bar.\r\n- tsv tab separated values foo\tbar.\r\n- pipes pipe separated values foo|bar.\r\n- multi corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in `query` or `formData`.\r\n\r\nDefault value is csv." }, "default": { "$ref": "#/definitions/default", "description": "Declares the value of the parameter that the server will use if none is provided, for example a `count` to control the number of results per page might default to 100 if not supplied by the client in the request. (Note: `default` has no meaning for required parameters.) See [http://json-schema.org/latest/json-schema-validation.html#anchor101](http://json-schema.org/latest/json-schema-validation.html#anchor101). Unlike JSON Schema this value MUST conform to the defined type for this parameter." }, "maximum": { "$ref": "#/definitions/maximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "minimum": { "$ref": "#/definitions/minimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "maxLength": { "$ref": "#/definitions/maxLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor26)." }, "minLength": { "$ref": "#/definitions/minLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor29)." }, "pattern": { "$ref": "#/definitions/pattern", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor33)." }, "maxItems": { "$ref": "#/definitions/maxItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor42)." }, "minItems": { "$ref": "#/definitions/minItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor45)." }, "uniqueItems": { "$ref": "#/definitions/uniqueItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor49)." }, "enum": { "$ref": "#/definitions/enum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor76)." }, "multipleOf": { "$ref": "#/definitions/multipleOf", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor14)." } }, "description": "Used to describe the payload of an HTTP request when either application/x-www-form-urlencoded, multipart/form-data or both are used as the content type of the request (in Swagger's definition, the consumes property of an operation). This is the only parameter type that can be used to send files, thus supporting the file type. Since form parameters are sent in the payload, they cannot be declared together with a body parameter for the same operation. Form parameters have a different format based on the content-type used (for further details, consult http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4):\r\n- application/x-www-form-urlencoded Similar to the format of Query parameters but as a payload. For example, foo=1&bar=swagger both foo and bar are form parameters. This is normally used for simple parameters that are being transferred.\r\n- multipart/form-data each parameter takes a section in the payload with an internal header. For example, for the header Content-Disposition: form-data; name=\"submit-name\" the name of the parameter is submit-name. This type of form parameters is more commonly used for file transfers." }, "collectionFormatWithMulti": { "type": "string", "enum": [ "csv", "ssv", "tsv", "pipes", "multi" ], "default": "csv" }, "queryParameterSubSchema": { "title": "Query parameter sub schema", "type": "object", "required": [ "name", "in", "type" ], "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "required": { "type": "boolean", "description": "Determines whether or not this parameter is required or optional.", "default": false }, "in": { "type": "string", "description": "Determines the location of the parameter.", "enum": [ "query" ] }, "description": { "type": "string", "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." }, "name": { "type": "string", "description": "The name of the parameter." }, "allowEmptyValue": { "type": "boolean", "default": false, "description": "allows sending a parameter by name only or with an empty value." }, "type": { "type": "string", "enum": [ "string", "number", "boolean", "integer", "array" ], "description": "**Required.** The type of the parameter. Since the parameter is not located at the request body, it is limited to simple types (that is, not an object). The value MUST be one of `string`, `number`, `integer`, `boolean`, `array` or `file`. If type is `file`, the [consumes](http://swagger.io/specification/#operationConsumes) MUST be either `multipart/form-data`, `application/x-www-form-urlencoded` or both and the parameter MUST be in `formData`." }, "format": { "type": "string", "description": "The extending format for the previously mentioned [type](http://swagger.io/specification/#parameterType). See [Data Type Formats](http://swagger.io/specification/#dataTypeFormat) for further details." }, "items": { "$ref": "#/definitions/primitivesItems", "description": "Required if [type](http://swagger.io/specification/#parameterType) is `array`. Describes the type of items in the array." }, "collectionFormat": { "$ref": "#/definitions/collectionFormatWithMulti", "description": "Determines the format of the array if type array is used. Possible values are:\r\n\r\n- csv comma separated values foo,bar.\r\n- ssv space separated values foo bar.\r\n- tsv tab separated values foo\tbar.\r\n- pipes pipe separated values foo|bar.\r\n- multi corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in `query` or `formData`.\r\n\r\nDefault value is csv." }, "default": { "$ref": "#/definitions/default", "description": "Declares the value of the parameter that the server will use if none is provided, for example a `count` to control the number of results per page might default to 100 if not supplied by the client in the request. (Note: `default` has no meaning for required parameters.) See [http://json-schema.org/latest/json-schema-validation.html#anchor101](http://json-schema.org/latest/json-schema-validation.html#anchor101). Unlike JSON Schema this value MUST conform to the defined type for this parameter." }, "maximum": { "$ref": "#/definitions/maximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "minimum": { "$ref": "#/definitions/minimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "maxLength": { "$ref": "#/definitions/maxLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor26)." }, "minLength": { "$ref": "#/definitions/minLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor29)." }, "pattern": { "$ref": "#/definitions/pattern", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor33)." }, "maxItems": { "$ref": "#/definitions/maxItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor42)." }, "minItems": { "$ref": "#/definitions/minItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor45)." }, "uniqueItems": { "$ref": "#/definitions/uniqueItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor49)." }, "enum": { "$ref": "#/definitions/enum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor76)." }, "multipleOf": { "$ref": "#/definitions/multipleOf", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor14)." } }, "description": "Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is id" }, "pathParameterSubSchema": { "title": "Path parameter sub schema", "type": "object", "required": [ "required", "in", "type", "name" ], "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "properties": { "required": { "type": "boolean", "enum": [ true ], "description": "Determines whether or not this parameter is required or optional." }, "in": { "type": "string", "description": "Determines the location of the parameter.", "enum": [ "path" ] }, "description": { "type": "string", "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." }, "name": { "type": "string", "description": "The name of the parameter." }, "type": { "type": "string", "enum": [ "string", "number", "boolean", "integer", "array" ], "description": "**Required.** The type of the parameter. Since the parameter is not located at the request body, it is limited to simple types (that is, not an object). The value MUST be one of `string`, `number`, `integer`, `boolean`, `array` or `file`. If type is `file`, the [consumes](http://swagger.io/specification/#operationConsumes) MUST be either `multipart/form-data`, `application/x-www-form-urlencoded` or both and the parameter MUST be in `formData`." }, "format": { "type": "string", "description": "The extending format for the previously mentioned [type](http://swagger.io/specification/#parameterType). See [Data Type Formats](http://swagger.io/specification/#dataTypeFormat) for further details." }, "items": { "$ref": "#/definitions/primitivesItems", "description": "Required if [type](http://swagger.io/specification/#parameterType) is `array`. Describes the type of items in the array." }, "collectionFormat": { "$ref": "#/definitions/collectionFormat", "description": "Determines the format of the array if type array is used. Possible values are:\r\n\r\n- csv comma separated values foo,bar.\r\n- ssv space separated values foo bar.\r\n- tsv tab separated values foo\tbar.\r\n- pipes pipe separated values foo|bar.\r\n- multi corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in `query` or `formData`.\r\n\r\nDefault value is csv." }, "default": { "$ref": "#/definitions/default", "description": "Declares the value of the parameter that the server will use if none is provided, for example a `count` to control the number of results per page might default to 100 if not supplied by the client in the request. (Note: `default` has no meaning for required parameters.) See [http://json-schema.org/latest/json-schema-validation.html#anchor101](http://json-schema.org/latest/json-schema-validation.html#anchor101). Unlike JSON Schema this value MUST conform to the defined type for this parameter." }, "maximum": { "$ref": "#/definitions/maximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "minimum": { "$ref": "#/definitions/minimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "maxLength": { "$ref": "#/definitions/maxLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor26)." }, "minLength": { "$ref": "#/definitions/minLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor29)." }, "pattern": { "$ref": "#/definitions/pattern", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor33)." }, "maxItems": { "$ref": "#/definitions/maxItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor42)." }, "minItems": { "$ref": "#/definitions/minItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor45)." }, "uniqueItems": { "$ref": "#/definitions/uniqueItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor49)." }, "enum": { "$ref": "#/definitions/enum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor76)." }, "multipleOf": { "$ref": "#/definitions/multipleOf", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor14)." } }, "description": "Used together with [Path Templating](http://swagger.io/specification/#pathTemplating), where the parameter value is actually part of the operation's URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, the path parameter is itemId." }, "jsonReference": { "type": "object", "required": [ "$ref" ], "additionalProperties": false, "properties": { "$ref": { "type": "string" } } }, "responses": { "type": "object", "description": "Response objects names can either be any valid HTTP status code or 'default'.", "minProperties": 1, "additionalProperties": false, "patternProperties": { "^([0-9]{3})$|^(default)$": { "$ref": "#/definitions/responseValue" }, "^x-": { "$ref": "#/definitions/vendorExtension" } }, "not": { "type": "object", "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } } } }, "responseValue": { "oneOf": [ { "$ref": "#/definitions/response" }, { "$ref": "#/definitions/jsonReference" } ] }, "response": { "title": "Response", "type": "object", "required": [ "description" ], "properties": { "description": { "type": "string", "description": "**Required.** A short description of the response. [GFM syntax](https://help.github.com/articles/github-flavored-markdown) can be used for rich text representation." }, "schema": { "oneOf": [ { "$ref": "#/definitions/schema" }, { "$ref": "#/definitions/fileSchema" } ], "description": "A definition of the response structure. It can be a primitive, an array or an object. If this field does not exist, it means no content is returned as part of the response. As an extension to the [Schema Object](http://swagger.io/specification/#schemaObject), its root type value may also be `file`. This SHOULD be accompanied by a relevant produces mime-type." }, "headers": { "$ref": "#/definitions/headers", "description": "A list of headers that are sent with the response. See [http://swagger.io/specification/#headersObject](http://swagger.io/specification/#headersObject)" }, "examples": { "$ref": "#/definitions/examples", "description": "An example of the response message. See [http://swagger.io/specification/#exampleObject](http://swagger.io/specification/#exampleObject)" }, "model": { "type": "string", "description": "The name of the model produced or consumed.", "minLength": 1 }, "arrayOfModel": { "type": "string", "description": "The name of the model produced or consumed as an array.", "minLength": 1 }, "commonHeaders": { "type": "array", "items": { "type": "string" }, "uniqueItems": true } }, "additionalProperties": false, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "description": "Describes a single response from an API Operation." }, "fileSchema": { "type": "object", "description": "A deterministic version of a JSON Schema object.", "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "required": [ "type" ], "properties": { "format": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "default": {}, "required": { "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" }, "type": { "type": "string", "enum": [ "file" ] }, "readOnly": { "type": "boolean", "default": false }, "externalDocs": { "$ref": "#/definitions/externalDocs" }, "example": {} }, "additionalProperties": false }, "headers": { "type": "object", "additionalProperties": { "$ref": "#/definitions/header" } }, "header": { "title": "Header", "type": "object", "additionalProperties": false, "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "string", "number", "integer", "boolean", "array" ], "description": "**Required.** The type of the parameter. Since the parameter is not located at the request body, it is limited to simple types (that is, not an object). The value MUST be one of `string`, `number`, `integer`, `boolean`, `array` or `file`. If type is `file`, the [consumes](http://swagger.io/specification/#operationConsumes) MUST be either `multipart/form-data`, `application/x-www-form-urlencoded` or both and the parameter MUST be in `formData`." }, "format": { "type": "string", "description": "The extending format for the previously mentioned [type](http://swagger.io/specification/#parameterType). See [Data Type Formats](http://swagger.io/specification/#dataTypeFormat) for further details." }, "items": { "$ref": "#/definitions/primitivesItems", "description": "Required if [type](http://swagger.io/specification/#parameterType) is `array`. Describes the type of items in the array." }, "collectionFormat": { "$ref": "#/definitions/collectionFormat", "description": "Determines the format of the array if type array is used. Possible values are:\r\n\r\n- csv comma separated values foo,bar.\r\n- ssv space separated values foo bar.\r\n- tsv tab separated values foo\tbar.\r\n- pipes pipe separated values foo|bar.\r\n- multi corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in `query` or `formData`.\r\n\r\nDefault value is csv." }, "default": { "$ref": "#/definitions/default", "description": "Declares the value of the parameter that the server will use if none is provided, for example a `count` to control the number of results per page might default to 100 if not supplied by the client in the request. (Note: `default` has no meaning for required parameters.) See [http://json-schema.org/latest/json-schema-validation.html#anchor101](http://json-schema.org/latest/json-schema-validation.html#anchor101). Unlike JSON Schema this value MUST conform to the defined type for this parameter." }, "maximum": { "$ref": "#/definitions/maximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "exclusiveMaximum": { "$ref": "#/definitions/exclusiveMaximum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor17)." }, "minimum": { "$ref": "#/definitions/minimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "exclusiveMinimum": { "$ref": "#/definitions/exclusiveMinimum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor21)." }, "maxLength": { "$ref": "#/definitions/maxLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor26)." }, "minLength": { "$ref": "#/definitions/minLength", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor29)." }, "pattern": { "$ref": "#/definitions/pattern", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor33)." }, "maxItems": { "$ref": "#/definitions/maxItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor42)." }, "minItems": { "$ref": "#/definitions/minItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor45)." }, "uniqueItems": { "$ref": "#/definitions/uniqueItems", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor49)." }, "enum": { "$ref": "#/definitions/enum", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor76)." }, "multipleOf": { "$ref": "#/definitions/multipleOf", "description": "See [json-schema.org](http://json-schema.org/latest/json-schema-validation.html#anchor14)." }, "description": { "type": "string", "description": "A short description of the header." } }, "patternProperties": { "^x-": { "$ref": "#/definitions/vendorExtension" } }, "description": "todo" }, "examples": { "type": "object", "additionalProperties": true }, "schemesList": { "type": "array", "description": "The transfer protocol of the API.", "items": { "type": "string", "enum": [ "http", "https", "ws", "wss" ] }, "uniqueItems": true }, "security": { "type": [ "array", "boolean", "string" ], "items": { "$ref": "#/definitions/securityRequirement" }, "uniqueItems": true }, "securityRequirement": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" }, "uniqueItems": true } }, "common": { "description": "A collection of common data to include in this route.", "type": "object", "additionalProperties": false, "properties": { "responses": { "type": "array", "items": { "type": "string" }, "description": "Common responses as added by calling common.addResponse", "uniqueItems": true }, "parameters": { "type": "object", "description": "A collection of common parameters to use for this route.", "additionalProperties": false, "properties": { "header": { "type": "array", "items": { "type": "string" }, "description": "A common header parameter as added by calling common.parameters.addHeader", "uniqueItems": true }, "body": { "type": "array", "items": { "type": "string" }, "description": "A common body parameter as added by calling common.parameters.addBody", "uniqueItems": true }, "query": { "type": "array", "items": { "type": "string" }, "description": "A common query string parameter as added by calling common.parameters.addQuery", "uniqueItems": true }, "formData": { "type": "array", "items": { "type": "string" }, "description": "A common form data parameter as added by calling common.parameters.addFormData", "uniqueItems": true }, "path": { "type": "array", "items": { "type": "string" }, "description": "A common path parameter as added by calling common.parameters.addPath", "uniqueItems": true } } } } } }, "$id": "https://raw.githubusercontent.com/eXigentCoder/swagger-spec-express/master/lib/schemas/meta-data.json", "description": "Metadata about a route" }