{
'id' => 'https://spec.openapis.org/oas/3.0/schema/2021-09-28',
'$schema' => 'http://json-schema.org/draft-04/schema#',
'description' => 'The description of OpenAPI v3.0.x documents, as defined by https://spec.openapis.org/oas/v3.0.3',
'type' => 'object',
'required' => [
'openapi',
'info',
'paths'
],
'properties' => {
'openapi' => {
'type' => 'string',
'pattern' => '^3\.0\.\d(-.+)?$'
},
'info' => {
'$ref' => '#/definitions/Info'
},
'externalDocs' => {
'$ref' => '#/definitions/ExternalDocumentation'
},
'servers' => {
'type' => 'array',
'items' => {
'$ref' => '#/definitions/Server'
}
},
'security' => {
'type' => 'array',
'items' => {
'$ref' => '#/definitions/SecurityRequirement'
}
},
'tags' => {
'type' => 'array',
'items' => {
'$ref' => '#/definitions/Tag'
},
'uniqueItems' => true
},
'paths' => {
'$ref' => '#/definitions/Paths'
},
'components' => {
'$ref' => '#/definitions/Components'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false,
'definitions' => {
'Reference' => {
'type' => 'object',
'required' => [
'$ref'
],
'patternProperties' => {
'^\$ref$' => {
'type' => 'string',
'format' => 'uri-reference'
}
}
},
'Info' => {
'type' => 'object',
'required' => [
'title',
'version'
],
'properties' => {
'title' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'termsOfService' => {
'type' => 'string',
'format' => 'uri-reference'
},
'contact' => {
'$ref' => '#/definitions/Contact'
},
'license' => {
'$ref' => '#/definitions/License'
},
'version' => {
'type' => 'string'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Contact' => {
'type' => 'object',
'properties' => {
'name' => {
'type' => 'string'
},
'url' => {
'type' => 'string',
'format' => 'uri-reference'
},
'email' => {
'type' => 'string',
'format' => 'email'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'License' => {
'type' => 'object',
'required' => [
'name'
],
'properties' => {
'name' => {
'type' => 'string'
},
'url' => {
'type' => 'string',
'format' => 'uri-reference'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Server' => {
'type' => 'object',
'required' => [
'url'
],
'properties' => {
'url' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'variables' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/ServerVariable'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'ServerVariable' => {
'type' => 'object',
'required' => [
'default'
],
'properties' => {
'enum' => {
'type' => 'array',
'items' => {
'type' => 'string'
}
},
'default' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Components' => {
'type' => 'object',
'properties' => {
'schemas' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
}
},
'responses' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/Response'
}
]
}
}
},
'parameters' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/Parameter'
}
]
}
}
},
'examples' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/Example'
}
]
}
}
},
'requestBodies' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/RequestBody'
}
]
}
}
},
'headers' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/Header'
}
]
}
}
},
'securitySchemes' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/SecurityScheme'
}
]
}
}
},
'links' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/Link'
}
]
}
}
},
'callbacks' => {
'type' => 'object',
'patternProperties' => {
'^[a-zA-Z0-9\.\-_]+$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Reference'
},
{
'$ref' => '#/definitions/Callback'
}
]
}
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Schema' => {
'type' => 'object',
'properties' => {
'title' => {
'type' => 'string'
},
'multipleOf' => {
'type' => 'number',
'minimum' => 0,
'exclusiveMinimum' => true
},
'maximum' => {
'type' => 'number'
},
'exclusiveMaximum' => {
'type' => 'boolean',
'default' => false
},
'minimum' => {
'type' => 'number'
},
'exclusiveMinimum' => {
'type' => 'boolean',
'default' => false
},
'maxLength' => {
'type' => 'integer',
'minimum' => 0
},
'minLength' => {
'type' => 'integer',
'minimum' => 0,
'default' => 0
},
'pattern' => {
'type' => 'string',
'format' => 'regex'
},
'maxItems' => {
'type' => 'integer',
'minimum' => 0
},
'minItems' => {
'type' => 'integer',
'minimum' => 0,
'default' => 0
},
'uniqueItems' => {
'type' => 'boolean',
'default' => false
},
'maxProperties' => {
'type' => 'integer',
'minimum' => 0
},
'minProperties' => {
'type' => 'integer',
'minimum' => 0,
'default' => 0
},
'required' => {
'type' => 'array',
'items' => {
'type' => 'string'
},
'minItems' => 1,
'uniqueItems' => true
},
'enum' => {
'type' => 'array',
'items' => {
},
'minItems' => 1,
'uniqueItems' => false
},
'type' => {
'type' => 'string',
'enum' => [
'array',
'boolean',
'integer',
'number',
'object',
'string'
]
},
'not' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'allOf' => {
'type' => 'array',
'items' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'oneOf' => {
'type' => 'array',
'items' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'anyOf' => {
'type' => 'array',
'items' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'items' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'properties' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
},
{
'type' => 'boolean'
}
],
'default' => true
},
'description' => {
'type' => 'string'
},
'format' => {
'type' => 'string'
},
'default' => {
},
'nullable' => {
'type' => 'boolean',
'default' => false
},
'discriminator' => {
'$ref' => '#/definitions/Discriminator'
},
'readOnly' => {
'type' => 'boolean',
'default' => false
},
'writeOnly' => {
'type' => 'boolean',
'default' => false
},
'example' => {
},
'externalDocs' => {
'$ref' => '#/definitions/ExternalDocumentation'
},
'deprecated' => {
'type' => 'boolean',
'default' => false
},
'xml' => {
'$ref' => '#/definitions/XML'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Discriminator' => {
'type' => 'object',
'required' => [
'propertyName'
],
'properties' => {
'propertyName' => {
'type' => 'string'
},
'mapping' => {
'type' => 'object',
'additionalProperties' => {
'type' => 'string'
}
}
}
},
'XML' => {
'type' => 'object',
'properties' => {
'name' => {
'type' => 'string'
},
'namespace' => {
'type' => 'string',
'format' => 'uri'
},
'prefix' => {
'type' => 'string'
},
'attribute' => {
'type' => 'boolean',
'default' => false
},
'wrapped' => {
'type' => 'boolean',
'default' => false
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Response' => {
'type' => 'object',
'required' => [
'description'
],
'properties' => {
'description' => {
'type' => 'string'
},
'headers' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Header'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'content' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/MediaType'
}
},
'links' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Link'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'MediaType' => {
'type' => 'object',
'properties' => {
'schema' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'example' => {
},
'examples' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Example'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'encoding' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/Encoding'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false,
'allOf' => [
{
'$ref' => '#/definitions/ExampleXORExamples'
}
]
},
'Example' => {
'type' => 'object',
'properties' => {
'summary' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'value' => {
},
'externalValue' => {
'type' => 'string',
'format' => 'uri-reference'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Header' => {
'type' => 'object',
'properties' => {
'description' => {
'type' => 'string'
},
'required' => {
'type' => 'boolean',
'default' => false
},
'deprecated' => {
'type' => 'boolean',
'default' => false
},
'allowEmptyValue' => {
'type' => 'boolean',
'default' => false
},
'style' => {
'type' => 'string',
'enum' => [
'simple'
],
'default' => 'simple'
},
'explode' => {
'type' => 'boolean'
},
'allowReserved' => {
'type' => 'boolean',
'default' => false
},
'schema' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'content' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/MediaType'
},
'minProperties' => 1,
'maxProperties' => 1
},
'example' => {
},
'examples' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Example'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false,
'allOf' => [
{
'$ref' => '#/definitions/ExampleXORExamples'
},
{
'$ref' => '#/definitions/SchemaXORContent'
}
]
},
'Paths' => {
'type' => 'object',
'patternProperties' => {
'^\/' => {
'$ref' => '#/definitions/PathItem'
},
'^x-' => {
}
},
'additionalProperties' => false
},
'PathItem' => {
'type' => 'object',
'properties' => {
'$ref' => {
'type' => 'string'
},
'summary' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'servers' => {
'type' => 'array',
'items' => {
'$ref' => '#/definitions/Server'
}
},
'parameters' => {
'type' => 'array',
'items' => {
'oneOf' => [
{
'$ref' => '#/definitions/Parameter'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'uniqueItems' => true
}
},
'patternProperties' => {
'^(get|put|post|delete|options|head|patch|trace)$' => {
'$ref' => '#/definitions/Operation'
},
'^x-' => {
}
},
'additionalProperties' => false
},
'Operation' => {
'type' => 'object',
'required' => [
'responses'
],
'properties' => {
'tags' => {
'type' => 'array',
'items' => {
'type' => 'string'
}
},
'summary' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'externalDocs' => {
'$ref' => '#/definitions/ExternalDocumentation'
},
'operationId' => {
'type' => 'string'
},
'parameters' => {
'type' => 'array',
'items' => {
'oneOf' => [
{
'$ref' => '#/definitions/Parameter'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'uniqueItems' => true
},
'requestBody' => {
'oneOf' => [
{
'$ref' => '#/definitions/RequestBody'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'responses' => {
'$ref' => '#/definitions/Responses'
},
'callbacks' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Callback'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'deprecated' => {
'type' => 'boolean',
'default' => false
},
'security' => {
'type' => 'array',
'items' => {
'$ref' => '#/definitions/SecurityRequirement'
}
},
'servers' => {
'type' => 'array',
'items' => {
'$ref' => '#/definitions/Server'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Responses' => {
'type' => 'object',
'properties' => {
'default' => {
'oneOf' => [
{
'$ref' => '#/definitions/Response'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'patternProperties' => {
'^[1-5](?:\d{2}|XX)$' => {
'oneOf' => [
{
'$ref' => '#/definitions/Response'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'^x-' => {
}
},
'minProperties' => 1,
'additionalProperties' => false
},
'SecurityRequirement' => {
'type' => 'object',
'additionalProperties' => {
'type' => 'array',
'items' => {
'type' => 'string'
}
}
},
'Tag' => {
'type' => 'object',
'required' => [
'name'
],
'properties' => {
'name' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'externalDocs' => {
'$ref' => '#/definitions/ExternalDocumentation'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'ExternalDocumentation' => {
'type' => 'object',
'required' => [
'url'
],
'properties' => {
'description' => {
'type' => 'string'
},
'url' => {
'type' => 'string',
'format' => 'uri-reference'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'ExampleXORExamples' => {
'description' => 'Example and examples are mutually exclusive',
'not' => {
'required' => [
'example',
'examples'
]
}
},
'SchemaXORContent' => {
'description' => 'Schema and content are mutually exclusive, at least one is required',
'not' => {
'required' => [
'schema',
'content'
]
},
'oneOf' => [
{
'required' => [
'schema'
]
},
{
'required' => [
'content'
],
'description' => 'Some properties are not allowed if content is present',
'allOf' => [
{
'not' => {
'required' => [
'style'
]
}
},
{
'not' => {
'required' => [
'explode'
]
}
},
{
'not' => {
'required' => [
'allowReserved'
]
}
},
{
'not' => {
'required' => [
'example'
]
}
},
{
'not' => {
'required' => [
'examples'
]
}
}
]
}
]
},
'Parameter' => {
'type' => 'object',
'properties' => {
'name' => {
'type' => 'string'
},
'in' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'required' => {
'type' => 'boolean',
'default' => false
},
'deprecated' => {
'type' => 'boolean',
'default' => false
},
'allowEmptyValue' => {
'type' => 'boolean',
'default' => false
},
'style' => {
'type' => 'string'
},
'explode' => {
'type' => 'boolean'
},
'allowReserved' => {
'type' => 'boolean',
'default' => false
},
'schema' => {
'oneOf' => [
{
'$ref' => '#/definitions/Schema'
},
{
'$ref' => '#/definitions/Reference'
}
]
},
'content' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/MediaType'
},
'minProperties' => 1,
'maxProperties' => 1
},
'example' => {
},
'examples' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Example'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false,
'required' => [
'name',
'in'
],
'allOf' => [
{
'$ref' => '#/definitions/ExampleXORExamples'
},
{
'$ref' => '#/definitions/SchemaXORContent'
},
{
'$ref' => '#/definitions/ParameterLocation'
}
]
},
'ParameterLocation' => {
'description' => 'Parameter location',
'oneOf' => [
{
'description' => 'Parameter in path',
'required' => [
'required'
],
'properties' => {
'in' => {
'enum' => [
'path'
]
},
'style' => {
'enum' => [
'matrix',
'label',
'simple'
],
'default' => 'simple'
},
'required' => {
'enum' => [
true
]
}
}
},
{
'description' => 'Parameter in query',
'properties' => {
'in' => {
'enum' => [
'query'
]
},
'style' => {
'enum' => [
'form',
'spaceDelimited',
'pipeDelimited',
'deepObject'
],
'default' => 'form'
}
}
},
{
'description' => 'Parameter in header',
'properties' => {
'in' => {
'enum' => [
'header'
]
},
'style' => {
'enum' => [
'simple'
],
'default' => 'simple'
}
}
},
{
'description' => 'Parameter in cookie',
'properties' => {
'in' => {
'enum' => [
'cookie'
]
},
'style' => {
'enum' => [
'form'
],
'default' => 'form'
}
}
}
]
},
'RequestBody' => {
'type' => 'object',
'required' => [
'content'
],
'properties' => {
'description' => {
'type' => 'string'
},
'content' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/MediaType'
}
},
'required' => {
'type' => 'boolean',
'default' => false
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'SecurityScheme' => {
'oneOf' => [
{
'$ref' => '#/definitions/APIKeySecurityScheme'
},
{
'$ref' => '#/definitions/HTTPSecurityScheme'
},
{
'$ref' => '#/definitions/OAuth2SecurityScheme'
},
{
'$ref' => '#/definitions/OpenIdConnectSecurityScheme'
}
]
},
'APIKeySecurityScheme' => {
'type' => 'object',
'required' => [
'type',
'name',
'in'
],
'properties' => {
'type' => {
'type' => 'string',
'enum' => [
'apiKey'
]
},
'name' => {
'type' => 'string'
},
'in' => {
'type' => 'string',
'enum' => [
'header',
'query',
'cookie'
]
},
'description' => {
'type' => 'string'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'HTTPSecurityScheme' => {
'type' => 'object',
'required' => [
'scheme',
'type'
],
'properties' => {
'scheme' => {
'type' => 'string'
},
'bearerFormat' => {
'type' => 'string'
},
'description' => {
'type' => 'string'
},
'type' => {
'type' => 'string',
'enum' => [
'http'
]
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false,
'oneOf' => [
{
'description' => 'Bearer',
'properties' => {
'scheme' => {
'type' => 'string',
'pattern' => '^[Bb][Ee][Aa][Rr][Ee][Rr]$'
}
}
},
{
'description' => 'Non Bearer',
'not' => {
'required' => [
'bearerFormat'
]
},
'properties' => {
'scheme' => {
'not' => {
'type' => 'string',
'pattern' => '^[Bb][Ee][Aa][Rr][Ee][Rr]$'
}
}
}
}
]
},
'OAuth2SecurityScheme' => {
'type' => 'object',
'required' => [
'type',
'flows'
],
'properties' => {
'type' => {
'type' => 'string',
'enum' => [
'oauth2'
]
},
'flows' => {
'$ref' => '#/definitions/OAuthFlows'
},
'description' => {
'type' => 'string'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'OpenIdConnectSecurityScheme' => {
'type' => 'object',
'required' => [
'type',
'openIdConnectUrl'
],
'properties' => {
'type' => {
'type' => 'string',
'enum' => [
'openIdConnect'
]
},
'openIdConnectUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'description' => {
'type' => 'string'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'OAuthFlows' => {
'type' => 'object',
'properties' => {
'implicit' => {
'$ref' => '#/definitions/ImplicitOAuthFlow'
},
'password' => {
'$ref' => '#/definitions/PasswordOAuthFlow'
},
'clientCredentials' => {
'$ref' => '#/definitions/ClientCredentialsFlow'
},
'authorizationCode' => {
'$ref' => '#/definitions/AuthorizationCodeOAuthFlow'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'ImplicitOAuthFlow' => {
'type' => 'object',
'required' => [
'authorizationUrl',
'scopes'
],
'properties' => {
'authorizationUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'refreshUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'scopes' => {
'type' => 'object',
'additionalProperties' => {
'type' => 'string'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'PasswordOAuthFlow' => {
'type' => 'object',
'required' => [
'tokenUrl',
'scopes'
],
'properties' => {
'tokenUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'refreshUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'scopes' => {
'type' => 'object',
'additionalProperties' => {
'type' => 'string'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'ClientCredentialsFlow' => {
'type' => 'object',
'required' => [
'tokenUrl',
'scopes'
],
'properties' => {
'tokenUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'refreshUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'scopes' => {
'type' => 'object',
'additionalProperties' => {
'type' => 'string'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'AuthorizationCodeOAuthFlow' => {
'type' => 'object',
'required' => [
'authorizationUrl',
'tokenUrl',
'scopes'
],
'properties' => {
'authorizationUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'tokenUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'refreshUrl' => {
'type' => 'string',
'format' => 'uri-reference'
},
'scopes' => {
'type' => 'object',
'additionalProperties' => {
'type' => 'string'
}
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false
},
'Link' => {
'type' => 'object',
'properties' => {
'operationId' => {
'type' => 'string'
},
'operationRef' => {
'type' => 'string'
},
'parameters' => {
'type' => 'object',
'additionalProperties' => {
}
},
'requestBody' => {
},
'description' => {
'type' => 'string'
},
'server' => {
'$ref' => '#/definitions/Server'
}
},
'patternProperties' => {
'^x-' => {
}
},
'additionalProperties' => false,
'not' => {
'description' => 'Operation Id and Operation Ref are mutually exclusive',
'required' => [
'operationId',
'operationRef'
]
}
},
'Callback' => {
'type' => 'object',
'additionalProperties' => {
'$ref' => '#/definitions/PathItem'
},
'patternProperties' => {
'^x-' => {
}
}
},
'Encoding' => {
'type' => 'object',
'properties' => {
'contentType' => {
'type' => 'string'
},
'headers' => {
'type' => 'object',
'additionalProperties' => {
'oneOf' => [
{
'$ref' => '#/definitions/Header'
},
{
'$ref' => '#/definitions/Reference'
}
]
}
},
'style' => {
'type' => 'string',
'enum' => [
'form',
'spaceDelimited',
'pipeDelimited',
'deepObject'
]
},
'explode' => {
'type' => 'boolean'
},
'allowReserved' => {
'type' => 'boolean',
'default' => false
}
},
'additionalProperties' => false
}
}
}