fixtures/SwaggerV2.js
export default {
title: "A JSON Schema for Swagger 2.0 API.",
$id: "http://swagger.io/v2/schema.json#",
schema: "http://json-schema.org/draft-04/schema#",
type: "object",
required: [
"swagger",
"info",
"paths"
],
additionalProperties: false,
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
},
properties: {
swagger: {
type: "string",
enum: [
"2.0"
],
description: "The Swagger version of this document."
},
info: {
$ref: "#/definitions/info"
},
host: {
type: "string",
pattern: "^[^{}/ :\\\\]+(?::\\d+)?$",
description: "The host (name or ip) of the API. Example: 'swagger.io'"
},
basePath: {
type: "string",
pattern: "^/",
description: "The base path to the API. Example: '/api'."
},
schemes: {
$ref: "#/definitions/schemesList"
},
consumes: {
description: "A list of MIME types accepted by the API.",
allOf: [
{
$ref: "#/definitions/mediaTypeList"
}
]
},
produces: {
description: "A list of MIME types the API can produce.",
allOf: [
{
$ref: "#/definitions/mediaTypeList"
}
]
},
paths: {
$ref: "#/definitions/paths"
},
definitions: {
$ref: "#/definitions/definitions"
},
parameters: {
$ref: "#/definitions/parameterDefinitions"
},
responses: {
$ref: "#/definitions/responseDefinitions"
},
security: {
$ref: "#/definitions/security"
},
securityDefinitions: {
$ref: "#/definitions/securityDefinitions"
},
tags: {
type: "array",
items: {
$ref: "#/definitions/tag"
},
uniqueItems: true
},
externalDocs: {
$ref: "#/definitions/externalDocs"
}
},
definitions: {
info: {
type: "object",
description: "General information about the API.",
required: [
"version",
"title"
],
additionalProperties: false,
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
},
properties: {
title: {
type: "string",
description: "A unique and precise title of the API."
},
version: {
type: "string",
description: "A semantic version number of the API."
},
description: {
type: "string",
description: "A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed."
},
termsOfService: {
type: "string",
description: "The terms of service for the API."
},
contact: {
$ref: "#/definitions/contact"
},
license: {
$ref: "#/definitions/license"
}
}
},
contact: {
type: "object",
description: "Contact information for the owners of the API.",
additionalProperties: false,
properties: {
name: {
type: "string",
description: "The identifying name of the contact person/organization."
},
url: {
type: "string",
description: "The URL pointing to the contact information.",
format: "uri"
},
email: {
type: "string",
description: "The email address of the contact person/organization.",
format: "email"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
license: {
type: "object",
required: [
"name"
],
additionalProperties: false,
properties: {
name: {
type: "string",
description: "The name of the license type. It's encouraged to use an OSI compatible license."
},
url: {
type: "string",
description: "The URL pointing to the license.",
format: "uri"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
paths: {
type: "object",
description: "Relative paths to the individual endpoints. They must be relative to the 'basePath'.",
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
},
"^/": {
$ref: "#/definitions/pathItem"
}
},
additionalProperties: false
},
definitions: {
type: "object",
additionalProperties: {
$ref: "#/definitions/schema"
},
description: "One or more JSON objects describing the schemas being consumed and produced by the API."
},
parameterDefinitions: {
type: "object",
additionalProperties: {
$ref: "#/definitions/parameter"
},
description: "One or more JSON representations for parameters"
},
responseDefinitions: {
type: "object",
additionalProperties: {
$ref: "#/definitions/response"
},
description: "One or more JSON representations for responses"
},
externalDocs: {
type: "object",
additionalProperties: false,
description: "information about external documentation",
required: [
"url"
],
properties: {
description: {
type: "string"
},
url: {
type: "string",
format: "uri"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
examples: {
type: "object",
additionalProperties: true
},
mimeType: {
type: "string",
description: "The MIME type of the HTTP message."
},
operation: {
type: "object",
required: [
"responses"
],
additionalProperties: false,
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
},
properties: {
tags: {
type: "array",
items: {
type: "string"
},
uniqueItems: true
},
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.",
allOf: [
{
$ref: "#/definitions/mediaTypeList"
}
]
},
consumes: {
description: "A list of MIME types the API can consume.",
allOf: [
{
$ref: "#/definitions/mediaTypeList"
}
]
},
parameters: {
$ref: "#/definitions/parametersList"
},
responses: {
$ref: "#/definitions/responses"
},
schemes: {
$ref: "#/definitions/schemesList"
},
deprecated: {
type: "boolean",
default: false
},
security: {
$ref: "#/definitions/security"
}
}
},
pathItem: {
type: "object",
additionalProperties: false,
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
},
properties: {
$ref: {
type: "string"
},
get: {
$ref: "#/definitions/operation"
},
put: {
$ref: "#/definitions/operation"
},
post: {
$ref: "#/definitions/operation"
},
delete: {
$ref: "#/definitions/operation"
},
options: {
$ref: "#/definitions/operation"
},
head: {
$ref: "#/definitions/operation"
},
patch: {
$ref: "#/definitions/operation"
},
parameters: {
$ref: "#/definitions/parametersList"
}
}
},
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: {
type: "object",
required: [
"description"
],
properties: {
description: {
type: "string"
},
schema: {
oneOf: [
{
$ref: "#/definitions/schema"
},
{
$ref: "#/definitions/fileSchema"
}
]
},
headers: {
$ref: "#/definitions/headers"
},
examples: {
$ref: "#/definitions/examples"
}
},
additionalProperties: false,
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
headers: {
type: "object",
additionalProperties: {
$ref: "#/definitions/header"
}
},
header: {
type: "object",
additionalProperties: false,
required: [
"type"
],
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"
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
vendorExtension: {
description: "Any property starting with x- is valid.",
additionalProperties: true,
additionalItems: true
},
bodyParameter: {
type: "object",
required: [
"name",
"in",
"schema"
],
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"
}
},
additionalProperties: false
},
headerParameterSubSchema: {
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"
]
},
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"
}
}
},
queryParameterSubSchema: {
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"
]
},
format: {
type: "string"
},
items: {
$ref: "#/definitions/primitivesItems"
},
collectionFormat: {
$ref: "#/definitions/collectionFormatWithMulti"
},
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"
}
}
},
formDataParameterSubSchema: {
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"
]
},
format: {
type: "string"
},
items: {
$ref: "#/definitions/primitivesItems"
},
collectionFormat: {
$ref: "#/definitions/collectionFormatWithMulti"
},
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"
}
}
},
pathParameterSubSchema: {
additionalProperties: false,
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
},
required: [
"required"
],
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"
]
},
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"
}
}
},
nonBodyParameter: {
type: "object",
required: [
"name",
"in",
"type"
],
oneOf: [
{
$ref: "#/definitions/headerParameterSubSchema"
},
{
$ref: "#/definitions/formDataParameterSubSchema"
},
{
$ref: "#/definitions/queryParameterSubSchema"
},
{
$ref: "#/definitions/pathParameterSubSchema"
}
]
},
parameter: {
oneOf: [
{
$ref: "#/definitions/bodyParameter"
},
{
$ref: "#/definitions/nonBodyParameter"
}
]
},
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: {
$ref: "http://json-schema.org/draft-04/schema#/properties/title"
},
description: {
$ref: "http://json-schema.org/draft-04/schema#/properties/description"
},
default: {
$ref: "http://json-schema.org/draft-04/schema#/properties/default"
},
multipleOf: {
$ref: "http://json-schema.org/draft-04/schema#/properties/multipleOf"
},
maximum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/maximum"
},
exclusiveMaximum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"
},
minimum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/minimum"
},
exclusiveMinimum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"
},
maxLength: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
},
minLength: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
},
pattern: {
$ref: "http://json-schema.org/draft-04/schema#/properties/pattern"
},
maxItems: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
},
minItems: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
},
uniqueItems: {
$ref: "http://json-schema.org/draft-04/schema#/properties/uniqueItems"
},
maxProperties: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
},
minProperties: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
},
required: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/stringArray"
},
enum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/enum"
},
additionalProperties: {
anyOf: [
{
$ref: "#/definitions/schema"
},
{
type: "boolean"
}
],
default: {}
},
type: {
$ref: "http://json-schema.org/draft-04/schema#/properties/type"
},
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: {}
},
additionalProperties: false
},
fileSchema: {
type: "object",
description: "A deterministic version of a JSON Schema object.",
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
},
required: [
"type"
],
properties: {
format: {
type: "string"
},
title: {
$ref: "http://json-schema.org/draft-04/schema#/properties/title"
},
description: {
$ref: "http://json-schema.org/draft-04/schema#/properties/description"
},
default: {
$ref: "http://json-schema.org/draft-04/schema#/properties/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
},
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"
}
}
},
security: {
type: "array",
items: {
$ref: "#/definitions/securityRequirement"
},
uniqueItems: true
},
securityRequirement: {
type: "object",
additionalProperties: {
type: "array",
items: {
type: "string"
},
uniqueItems: true
}
},
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"
}
}
},
tag: {
type: "object",
additionalProperties: false,
required: [
"name"
],
properties: {
name: {
type: "string"
},
description: {
type: "string"
},
externalDocs: {
$ref: "#/definitions/externalDocs"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
securityDefinitions: {
type: "object",
additionalProperties: {
oneOf: [
{
$ref: "#/definitions/basicAuthenticationSecurity"
},
{
$ref: "#/definitions/apiKeySecurity"
},
{
$ref: "#/definitions/oauth2ImplicitSecurity"
},
{
$ref: "#/definitions/oauth2PasswordSecurity"
},
{
$ref: "#/definitions/oauth2ApplicationSecurity"
},
{
$ref: "#/definitions/oauth2AccessCodeSecurity"
}
]
}
},
basicAuthenticationSecurity: {
type: "object",
additionalProperties: false,
required: [
"type"
],
properties: {
type: {
type: "string",
enum: [
"basic"
]
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
apiKeySecurity: {
type: "object",
additionalProperties: false,
required: [
"type",
"name",
"in"
],
properties: {
type: {
type: "string",
enum: [
"apiKey"
]
},
name: {
type: "string"
},
in: {
type: "string",
enum: [
"header",
"query"
]
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
oauth2ImplicitSecurity: {
type: "object",
additionalProperties: false,
required: [
"type",
"flow",
"authorizationUrl"
],
properties: {
type: {
type: "string",
enum: [
"oauth2"
]
},
flow: {
type: "string",
enum: [
"implicit"
]
},
scopes: {
$ref: "#/definitions/oauth2Scopes"
},
authorizationUrl: {
type: "string",
format: "uri"
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
oauth2PasswordSecurity: {
type: "object",
additionalProperties: false,
required: [
"type",
"flow",
"tokenUrl"
],
properties: {
type: {
type: "string",
enum: [
"oauth2"
]
},
flow: {
type: "string",
enum: [
"password"
]
},
scopes: {
$ref: "#/definitions/oauth2Scopes"
},
tokenUrl: {
type: "string",
format: "uri"
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
oauth2ApplicationSecurity: {
type: "object",
additionalProperties: false,
required: [
"type",
"flow",
"tokenUrl"
],
properties: {
type: {
type: "string",
enum: [
"oauth2"
]
},
flow: {
type: "string",
enum: [
"application"
]
},
scopes: {
$ref: "#/definitions/oauth2Scopes"
},
tokenUrl: {
type: "string",
format: "uri"
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
oauth2AccessCodeSecurity: {
type: "object",
additionalProperties: false,
required: [
"type",
"flow",
"authorizationUrl",
"tokenUrl"
],
properties: {
type: {
type: "string",
enum: [
"oauth2"
]
},
flow: {
type: "string",
enum: [
"accessCode"
]
},
scopes: {
$ref: "#/definitions/oauth2Scopes"
},
authorizationUrl: {
type: "string",
format: "uri"
},
tokenUrl: {
type: "string",
format: "uri"
},
description: {
type: "string"
}
},
patternProperties: {
"^x-": {
$ref: "#/definitions/vendorExtension"
}
}
},
oauth2Scopes: {
type: "object",
additionalProperties: {
type: "string"
}
},
mediaTypeList: {
type: "array",
items: {
$ref: "#/definitions/mimeType"
},
uniqueItems: true
},
parametersList: {
type: "array",
description: "The parameters needed to send a valid API call.",
additionalItems: false,
items: {
oneOf: [
{
$ref: "#/definitions/parameter"
},
{
$ref: "#/definitions/jsonReference"
}
]
},
uniqueItems: true
},
schemesList: {
type: "array",
description: "The transfer protocol of the API.",
items: {
type: "string",
enum: [
"http",
"https",
"ws",
"wss"
]
},
uniqueItems: true
},
collectionFormat: {
type: "string",
enum: [
"csv",
"ssv",
"tsv",
"pipes"
],
default: "csv"
},
collectionFormatWithMulti: {
type: "string",
enum: [
"csv",
"ssv",
"tsv",
"pipes",
"multi"
],
default: "csv"
},
title: {
$ref: "http://json-schema.org/draft-04/schema#/properties/title"
},
description: {
$ref: "http://json-schema.org/draft-04/schema#/properties/description"
},
default: {
$ref: "http://json-schema.org/draft-04/schema#/properties/default"
},
multipleOf: {
$ref: "http://json-schema.org/draft-04/schema#/properties/multipleOf"
},
maximum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/maximum"
},
exclusiveMaximum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"
},
minimum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/minimum"
},
exclusiveMinimum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"
},
maxLength: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
},
minLength: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
},
pattern: {
$ref: "http://json-schema.org/draft-04/schema#/properties/pattern"
},
maxItems: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger"
},
minItems: {
$ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"
},
uniqueItems: {
$ref: "http://json-schema.org/draft-04/schema#/properties/uniqueItems"
},
enum: {
$ref: "http://json-schema.org/draft-04/schema#/properties/enum"
},
jsonReference: {
type: "object",
required: [
"$ref"
],
additionalProperties: false,
properties: {
$ref: {
type: "string"
}
}
}
}
};