Skip to content

Instantly share code, notes, and snippets.

@MikeRalphson
Created September 22, 2017 12:46
Show Gist options
  • Save MikeRalphson/349b3d9208c07a15aa200494ed49e8c4 to your computer and use it in GitHub Desktop.
Save MikeRalphson/349b3d9208c07a15aa200494ed49e8c4 to your computer and use it in GitHub Desktop.
OpenAPI 3.0.0 schema from PR#1270 with descriptions ported from PR#1236
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'
paths:
$ref: '#/definitions/Paths'
components:
$ref: '#/definitions/Components'
patternProperties:
^x-: {}
additionalProperties: false
definitions:
Reference:
type: object
required:
- $ref
properties:
$ref:
type: string
format: uriref
description: >-
A simple object to allow referencing other components in the
specification, internally and externally. The Reference Object is defined
by JSON Reference and follows the same structure, behavior and rules.
For this specification, reference resolution is done as defined by the
JSON Reference specification and not by the JSON Schema specification.
Info:
type: object
required:
- title
- version
properties:
title:
type: string
description:
type: string
termsOfService:
type: string
format: uriref
contact:
$ref: '#/definitions/Contact'
license:
$ref: '#/definitions/License'
version:
type: string
patternProperties:
^x-: {}
additionalProperties: false
description: >-
The object provides metadata about the API. The metadata can be used by
the clients if needed, and can be presented in editing or documentation
generation tools for convenience.
Contact:
type: object
properties:
name:
type: string
url:
type: string
format: uriref
email:
type: string
format: email
patternProperties:
^x-: {}
additionalProperties: false
description: Contact information for the exposed API.
License:
type: object
required:
- name
properties:
name:
type: string
url:
type: string
format: uriref
patternProperties:
^x-: {}
additionalProperties: false
description: License information for the exposed API.
Server:
type: object
required:
- url
properties:
url:
type: string
description:
type: string
variables:
type: object
additionalProperties:
$ref: '#/definitions/ServerVariable'
patternProperties:
^x-: {}
additionalProperties: false
description: An object representing a Server.
ServerVariable:
type: object
required:
- default
properties:
enum:
type: array
items:
type: string
default:
type: string
description:
type: string
patternProperties:
^x-: {}
additionalProperties: false
description: >-
An object representing a Server Variable for server URL template
substitution.
Components:
type: object
properties:
schemas:
type: object
patternProperties:
'^[a-zA-Z0-9\.\-_]+$':
oneOf:
- $ref: '#/definitions/Reference'
- $ref: '#/definitions/Schema'
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
description: >-
Holds a set of reusable objects for different aspects of the OAS. All
objects defined within the components object will have no effect on the
API unless they are explicitly referenced from properties outside the
components object.
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: true
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
description: >-
The Schema Object allows the definition of input and output data types.
These types can be objects, but also primitives and arrays. This object is
an extended subset of the JSON Schema Specification Wright Draft 00.
Further information about the properties can be found in JSON Schema Core
and JSON Schema Validation. Unless stated otherwise, the property
definitions follow the JSON Schema specification as referenced here.
Discriminator:
type: object
required:
- propertyName
properties:
propertyName:
type: string
mapping:
type: object
additionalProperties:
type: string
description: >-
When request bodies or response payloads may be one of a number of
different schemas, a `discriminator` object can be used to aid in
serialization, deserialization, and validation. The discriminator is a
specific object in a schema which is used to inform the consumer of the
specification of an alternative schema based on the value associated with
it. Note, when using the discriminator, _inline_ schemas will not be
considered when using the discriminator.
XML:
type: object
properties:
name:
type: string
namespace:
type: string
format: url
prefix:
type: string
attribute:
type: boolean
default: false
wrapped:
type: boolean
default: false
patternProperties:
^x-: {}
additionalProperties: false
description: >-
A metadata object that allows for more fine-tuned XML model definitions.
When using arrays, XML element names are *not* inferred (for
singular/plural forms) and the `name` property SHOULD be used to add that
information. See examples for expected behavior.
Response:
type: object
required:
- description
properties:
description:
type: string
headers:
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
description: >-
Describes a single response from an API Operation, including design-time,
static `links` to operations based on the response.
MediaType:
oneOf:
- $ref: '#/definitions/MediaTypeWithExample'
- $ref: '#/definitions/MediaTypeWithExamples'
description: >-
Each Media Type Object provides schema and examples for a the media type
identified by its key. Media Type Objects can be used in a Content
Object.
MediaTypeWithExample:
type: object
properties:
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
example: {}
encoding:
type: object
additionalProperties:
$ref: '#/definitions/Encoding'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Each Media Type Object provides schema and examples for a the media type
identified by its key. Media Type Objects can be used in a Content
Object.
MediaTypeWithExamples:
type: object
required:
- examples
properties:
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
examples:
type: object
additionalProperties:
oneOf:
- $ref: '#/definitions/Example'
- $ref: '#/definitions/Reference'
encoding:
type: object
additionalProperties:
$ref: '#/definitions/Encoding'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Each Media Type Object provides schema and examples for a the media type
identified by its key. Media Type Objects can be used in a Content
Object.
Example:
type: object
properties:
summary:
type: string
description:
type: string
value: {}
externalValue:
type: string
format: uriref
patternProperties:
^x-: {}
additionalProperties: false
Header:
oneOf:
- $ref: '#/definitions/HeaderWithSchema'
- $ref: '#/definitions/HeaderWithContent'
description: >-
The Header Object follows the structure of the Parameter Object, with the
following changes: 1. `name` MUST NOT be specified, it is given in the
Headers Object. 1. `in` MUST NOT be specified, it is implicitly in
`header`. 1. All traits that are affected by the location MUST be
applicable to a location of `header` (for example, `style`).
HeaderWithSchema:
oneOf:
- $ref: '#/definitions/HeaderWithSchemaWithExample'
- $ref: '#/definitions/HeaderWithSchemaWithExamples'
description: >-
The Header Object follows the structure of the Parameter Object, with the
following changes: 1. `name` MUST NOT be specified, it is given in the
Headers Object. 1. `in` MUST NOT be specified, it is implicitly in
`header`. 1. All traits that are affected by the location MUST be
applicable to a location of `header` (for example, `style`).
HeaderWithSchemaWithExample:
type: object
required:
- schema
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'
example: {}
patternProperties:
^x-: {}
additionalProperties: false
description: >-
The Header Object follows the structure of the Parameter Object, with the
following changes: 1. `name` MUST NOT be specified, it is given in the
Headers Object. 1. `in` MUST NOT be specified, it is implicitly in
`header`. 1. All traits that are affected by the location MUST be
applicable to a location of `header` (for example, `style`).
HeaderWithSchemaWithExamples:
type: object
required:
- schema
- examples
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'
examples:
type: object
additionalProperties:
oneOf:
- $ref: '#/definitions/Example'
- $ref: '#/definitions/Reference'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
The Header Object follows the structure of the Parameter Object, with the
following changes: 1. `name` MUST NOT be specified, it is given in the
Headers Object. 1. `in` MUST NOT be specified, it is implicitly in
`header`. 1. All traits that are affected by the location MUST be
applicable to a location of `header` (for example, `style`).
HeaderWithContent:
type: object
required:
- content
properties:
description:
type: string
required:
type: boolean
default: false
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
content:
type: object
additionalProperties:
$ref: '#/definitions/MediaType'
minProperties: 1
maxProperties: 1
patternProperties:
^x-: {}
additionalProperties: false
description: >-
The Header Object follows the structure of the Parameter Object, with the
following changes: 1. `name` MUST NOT be specified, it is given in the
Headers Object. 1. `in` MUST NOT be specified, it is implicitly in
`header`. 1. All traits that are affected by the location MUST be
applicable to a location of `header` (for example, `style`).
Paths:
type: object
patternProperties:
^\/:
$ref: '#/definitions/PathItem'
^x-: {}
additionalProperties: false
description: >-
Holds the relative paths to the individual endpoints and their operations.
The path is appended to the URL from the `Server Object` in order to
construct the full URL. The Paths MAY be empty, due to ACL constraints.
PathItem:
type: object
properties:
$ref:
type: string
summary:
type: string
description:
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'
trace:
$ref: '#/definitions/Operation'
servers:
type: array
items:
$ref: '#/definitions/Server'
parameters:
type: array
items:
oneOf:
- $ref: '#/definitions/Parameter'
- $ref: '#/definitions/Reference'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes the operations available on a single path. A Path Item MAY be
empty, due to ACL constraints. The path itself is still exposed to the
documentation viewer but they will not know which operations and
parameters are available.
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'
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
description: Describes a single API operation on a path.
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
not:
type: object
patternProperties:
^x-: {}
additionalProperties: false
description: >-
A container for the expected responses of an operation. The container maps
a HTTP response code to the expected response. It is not expected for the
documentation to necessarily cover all possible HTTP response codes, since
they may not be known in advance. However, it is expected for the
documentation to cover a successful operation response and any known
errors. The `default` MAY be used as a default response object for all
HTTP codes that are not covered individually by the specification. The
`Responses Object` MUST contain at least one response code, and it SHOULD
be the response for a successful operation call.
SecurityRequirement:
type: object
additionalProperties:
type: array
items:
type: string
description: >-
Lists the required security schemes to execute this operation. The name
used for each property MUST correspond to a security scheme declared in
the Security Schemes under the Components Object. Security Requirement
Objects that contain multiple schemes require that all schemes MUST be
satisfied for a request to be authorized. This enables support for
scenarios where there multiple query parameters or HTTP headers are
required to convey security information. When a list of Security
Requirement Objects is defined on the Open API object or Operation Object,
only one of Security Requirement Objects in the list needs to be satisfied
to authorize.
Tag:
type: object
required:
- name
properties:
name:
type: string
description:
type: string
externalDocs:
$ref: '#/definitions/ExternalDocumentation'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Allows adding meta data to a single tag that is used by the Operation
Object. It is not mandatory to have a Tag Object per tag used there.
ExternalDocumentation:
type: object
required:
- url
properties:
description:
type: string
url:
type: string
format: uriref
patternProperties:
^x-: {}
additionalProperties: false
description: Allows referencing an external resource for extended documentation.
Parameter:
oneOf:
- $ref: '#/definitions/ParameterWithSchema'
- $ref: '#/definitions/ParameterWithContent'
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchema:
oneOf:
- $ref: '#/definitions/ParameterWithSchemaWithExample'
- $ref: '#/definitions/ParameterWithSchemaWithExamples'
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExample:
oneOf:
- $ref: '#/definitions/ParameterWithSchemaWithExampleInPath'
- $ref: '#/definitions/ParameterWithSchemaWithExampleInQuery'
- $ref: '#/definitions/ParameterWithSchemaWithExampleInHeader'
- $ref: '#/definitions/ParameterWithSchemaWithExampleInCookie'
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExampleInPath:
type: object
required:
- name
- in
- schema
- required
properties:
name:
type: string
in:
type: string
enum:
- path
description:
type: string
required:
type: boolean
enum:
- true
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
style:
type: string
enum:
- matrix
- label
- simple
default: simple
explode:
type: boolean
allowReserved:
type: boolean
default: false
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
example: {}
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExampleInQuery:
type: object
required:
- name
- in
- schema
properties:
name:
type: string
in:
type: string
enum:
- query
description:
type: string
required:
type: boolean
default: false
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
style:
type: string
enum:
- form
- spaceDelimited
- pipeDelimited
- deepObject
default: form
explode:
type: boolean
allowReserved:
type: boolean
default: false
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
example: {}
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExampleInHeader:
type: object
required:
- name
- in
- schema
properties:
name:
type: string
in:
type: string
enum:
- header
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'
example: {}
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExampleInCookie:
type: object
required:
- name
- in
- schema
properties:
name:
type: string
in:
type: string
enum:
- cookie
description:
type: string
required:
type: boolean
default: false
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
style:
type: string
enum:
- form
default: form
explode:
type: boolean
allowReserved:
type: boolean
default: false
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
example: {}
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExamples:
oneOf:
- $ref: '#/definitions/ParameterWithSchemaWithExamplesInPath'
- $ref: '#/definitions/ParameterWithSchemaWithExamplesInQuery'
- $ref: '#/definitions/ParameterWithSchemaWithExamplesInHeader'
- $ref: '#/definitions/ParameterWithSchemaWithExamplesInCookie'
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExamplesInPath:
type: object
required:
- name
- in
- schema
- required
- examples
properties:
name:
type: string
in:
type: string
enum:
- path
description:
type: string
required:
type: boolean
enum:
- true
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
style:
type: string
enum:
- matrix
- label
- simple
default: simple
explode:
type: boolean
allowReserved:
type: boolean
default: false
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
examples:
type: object
additionalProperties:
oneOf:
- $ref: '#/definitions/Example'
- $ref: '#/definitions/Reference'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExamplesInQuery:
type: object
required:
- name
- in
- schema
- examples
properties:
name:
type: string
in:
type: string
enum:
- query
description:
type: string
required:
type: boolean
default: false
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
style:
type: string
enum:
- form
- spaceDelimited
- pipeDelimited
- deepObject
default: form
explode:
type: boolean
allowReserved:
type: boolean
default: false
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
examples:
type: object
additionalProperties:
oneOf:
- $ref: '#/definitions/Example'
- $ref: '#/definitions/Reference'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExamplesInHeader:
type: object
required:
- name
- in
- schema
- examples
properties:
name:
type: string
in:
type: string
enum:
- header
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'
examples:
type: object
additionalProperties:
oneOf:
- $ref: '#/definitions/Example'
- $ref: '#/definitions/Reference'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithSchemaWithExamplesInCookie:
type: object
required:
- name
- in
- schema
- examples
properties:
name:
type: string
in:
type: string
enum:
- cookie
description:
type: string
required:
type: boolean
default: false
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
style:
type: string
enum:
- form
default: form
explode:
type: boolean
allowReserved:
type: boolean
default: false
schema:
oneOf:
- $ref: '#/definitions/Schema'
- $ref: '#/definitions/Reference'
examples:
type: object
additionalProperties:
oneOf:
- $ref: '#/definitions/Example'
- $ref: '#/definitions/Reference'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithContent:
oneOf:
- $ref: '#/definitions/ParameterWithContentInPath'
- $ref: '#/definitions/ParameterWithContentNotInPath'
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithContentInPath:
type: object
required:
- name
- in
- content
properties:
name:
type: string
in:
type: string
enum:
- path
description:
type: string
required:
type: boolean
enum:
- true
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
content:
type: object
additionalProperties:
$ref: '#/definitions/MediaType'
minProperties: 1
maxProperties: 1
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
ParameterWithContentNotInPath:
type: object
required:
- name
- in
- content
properties:
name:
type: string
in:
type: string
enum:
- query
- header
- cookie
description:
type: string
required:
type: boolean
default: false
deprecated:
type: boolean
default: false
allowEmptyValue:
type: boolean
default: false
content:
type: object
additionalProperties:
$ref: '#/definitions/MediaType'
minProperties: 1
maxProperties: 1
patternProperties:
^x-: {}
additionalProperties: false
description: >-
Describes a single operation parameter. A unique parameter is defined by
a combination of a name and location.
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
description: Describes a single request body.
SecurityScheme:
oneOf:
- $ref: '#/definitions/APIKeySecurityScheme'
- $ref: '#/definitions/HTTPSecurityScheme'
- $ref: '#/definitions/OAuth2SecurityScheme'
- $ref: '#/definitions/OpenIdConnectSecurityScheme'
description: >-
Allows the definition of a security scheme that can be used by the
operations. Supported schemes are HTTP authentication, an API key (either
as a header or as a query parameter) and OAuth2's common flows (implicit,
password, application and access code).
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:
oneOf:
- $ref: '#/definitions/NonBearerHTTPSecurityScheme'
- $ref: '#/definitions/BearerHTTPSecurityScheme'
NonBearerHTTPSecurityScheme:
not:
type: object
properties:
scheme:
type: string
enum:
- bearer
type: object
required:
- scheme
- type
properties:
scheme:
type: string
description:
type: string
type:
type: string
enum:
- http
patternProperties:
^x-: {}
additionalProperties: false
BearerHTTPSecurityScheme:
type: object
required:
- type
- scheme
properties:
scheme:
type: string
enum:
- bearer
bearerFormat:
type: string
type:
type: string
enum:
- http
description:
type: string
patternProperties:
^x-: {}
additionalProperties: false
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: url
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
description: Allows configuration of the supported OAuth Flows.
ImplicitOAuthFlow:
type: object
required:
- authorizationUrl
- scopes
properties:
authorizationUrl:
type: string
format: uriref
refreshUrl:
type: string
format: uriref
scopes:
type: object
additionalProperties:
type: string
patternProperties:
^x-: {}
additionalProperties: false
PasswordOAuthFlow:
type: object
required:
- tokenUrl
properties:
tokenUrl:
type: string
format: uriref
refreshUrl:
type: string
format: uriref
scopes:
type: object
additionalProperties:
type: string
patternProperties:
^x-: {}
additionalProperties: false
ClientCredentialsFlow:
type: object
required:
- tokenUrl
properties:
tokenUrl:
type: string
format: uriref
refreshUrl:
type: string
format: uriref
scopes:
type: object
additionalProperties:
type: string
patternProperties:
^x-: {}
additionalProperties: false
AuthorizationCodeOAuthFlow:
type: object
required:
- authorizationUrl
- tokenUrl
properties:
authorizationUrl:
type: string
format: uriref
tokenUrl:
type: string
format: uriref
refreshUrl:
type: string
format: uriref
scopes:
type: object
additionalProperties:
type: string
patternProperties:
^x-: {}
additionalProperties: false
Link:
oneOf:
- $ref: '#/definitions/LinkWithOperationRef'
- $ref: '#/definitions/LinkWithOperationId'
description: >-
The `Link Object` is responsible for defining a possible operation based
on a single response.
LinkWithOperationRef:
type: object
properties:
operationRef:
type: string
format: uriref
parameters:
type: object
additionalProperties: {}
requestBody: {}
description:
type: string
server:
$ref: '#/definitions/Server'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
The `Link Object` is responsible for defining a possible operation based
on a single response.
LinkWithOperationId:
type: object
properties:
operationId:
type: string
parameters:
type: object
additionalProperties: {}
requestBody: {}
description:
type: string
server:
$ref: '#/definitions/Server'
patternProperties:
^x-: {}
additionalProperties: false
description: >-
The `Link Object` is responsible for defining a possible operation based
on a single response.
Callback:
type: object
additionalProperties:
$ref: '#/definitions/PathItem'
patternProperties:
^x-: {}
description: >-
A map of possible out-of band callbacks related to the parent operation.
Each value in the map is a Path Item Object that describes a set of
requests that may be initiated by the API provider and the expected
responses. The key value used to identify the callback object is an
expression, evaluated at runtime, that identifies a URL to use for the
callback operation.
Encoding:
type: object
properties:
contentType:
type: string
headers:
type: object
additionalProperties:
$ref: '#/definitions/Header'
style:
type: string
enum:
- form
- spaceDelimited
- pipeDelimited
- deepObject
explode:
type: boolean
allowReserved:
type: boolean
default: false
additionalProperties: false
description: >-
An object representing multipart region encoding for `requestBody`
objects.
description: >-
This is the root document object for the API specification. It combines what
previously was the Resource Listing and API Declaration (version 1.2 and
earlier) together into one document.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment