All Downloads are FREE. Search and download functionalities are using the official Maven repository.

specs.openapi.openapi-2.0.yaml Maven / Gradle / Ivy

The newest version!
name: OpenAPI 2.0
version: 2.0
versions:
  - version: 2.0
    url: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
prefix: OpenApi20
namespace: io.apicurio.datamodels.models.openapi.v20

traits:
  - name: Extensible
    properties:
      - name: '/^x-.+$/'
        type: any
        collection: extensions
  - name: Referenceable
    properties:
      - name: '$ref'
        type: string
  - name: SchemaLike
    transparent: true
    properties:
      - name: description
        type: string
      - name: type
        type: string
      - name: format
        type: string
      - name: default
        type: any
      - name: maximum
        type: number
      - name: exclusiveMaximum
        type: boolean
      - name: minimum
        type: number
      - name: exclusiveMinimum
        type: boolean
      - name: maxLength
        type: integer
      - name: minLength
        type: integer
      - name: pattern
        type: string
      - name: maxItems
        type: integer
      - name: minItems
        type: integer
      - name: uniqueItems
        type: boolean
      - name: enum
        type: '[any]'
      - name: multipleOf
        type: number

entities:
  - name: Document
    root: true
    traits:
      - Extensible
    properties:
      - name: swagger
        type: string
      - name: info
        type: Info
      - name: host
        type: string
      - name: basePath
        type: string
      - name: schemes
        type: '[string]'
      - name: consumes
        type: '[string]'
      - name: produces
        type: '[string]'
      - name: paths
        type: Paths
      - name: definitions
        type: Definitions
      - name: parameters
        type: ParameterDefinitions
      - name: responses
        type: ResponseDefinitions
      - name: securityDefinitions
        type: SecurityDefinitions
      - name: security
        type: '[SecurityRequirement]'
      - name: tags
        type: '[Tag]'
      - name: externalDocs
        type: ExternalDocumentation
    propertyOrder:
      - $this
      - $Extensible

  - name: Info
    traits:
      - Extensible
    properties:
      - name: title
        type: string
      - name: description
        type: string
      - name: termsOfService
        type: string
      - name: contact
        type: Contact
      - name: license
        type: License
      - name: version
        type: string
    propertyOrder:
      - $this
      - $Extensible

  - name: Contact
    traits:
      - Extensible
    properties:
      - name: name
        type: string
      - name: url
        type: string
      - name: email
        type: string
    propertyOrder:
      - $this
      - $Extensible

  - name: License
    traits:
      - Extensible
    properties:
      - name: name
        type: string
      - name: url
        type: string
    propertyOrder:
      - $this
      - $Extensible

  - name: Paths
    traits:
      - Extensible
    properties:
      - name: '*'
        type: PathItem
    propertyOrder:
      - $Extensible
      - $this

  - name: PathItem
    traits:
      - Extensible
      - Referenceable
    properties:
      - name: get
        type: Operation
      - name: put
        type: Operation
      - name: post
        type: Operation
      - name: delete
        type: Operation
      - name: options
        type: Operation
      - name: head
        type: Operation
      - name: patch
        type: Operation
      - name: parameters
        type: '[Parameter]'
    propertyOrder:
      - $Referenceable
      - $this
      - $Extensible

  - name: Operation
    traits:
      - Extensible
    properties:
      - name: tags
        type: '[string]'
      - name: summary
        type: string
      - name: description
        type: string
      - name: externalDocs
        type: ExternalDocumentation
      - name: operationId
        type: string
      - name: consumes
        type: '[string]'
      - name: produces
        type: '[string]'
      - name: parameters
        type: '[Parameter]'
      - name: responses
        type: Responses
      - name: schemes
        type: '[string]'
      - name: deprecated
        type: boolean
      - name: security
        type: '[SecurityRequirement]'
    propertyOrder:
      - $this
      - $Extensible

  - name: ExternalDocumentation
    traits:
      - Extensible
    properties:
      - name: description
        type: string
      - name: url
        type: string
    propertyOrder:
      - $this
      - $Extensible

  - name: Parameter
    traits:
      - Extensible
      - Referenceable
      - SchemaLike
    properties:
      - name: name
        type: string
      - name: in
        type: string
      - name: required
        type: boolean
      - name: schema
        type: Schema
      - name: items
        type: Items
      - name: allowEmptyValue
        type: boolean
      - name: collectionFormat
        type: string
    propertyOrder:
      - $Referenceable
      - $SchemaLike
      - $this
      - $Extensible

  - name: Items
    traits:
      - Extensible
      - SchemaLike
      - Referenceable
    properties:
      - name: items
        type: Items
      - name: collectionFormat
        type: string
    propertyOrder:
      - $Referenceable
      - $SchemaLike
      - $this
      - $Extensible

  - name: Responses
    traits:
      - Extensible
    properties:
      - name: default
        type: Response
      - name: '*'
        type: Response
    propertyOrder:
      - $this
      - $Extensible

  - name: Response
    traits:
      - Extensible
      - Referenceable
    properties:
      - name: description
        type: string
      - name: schema
        type: Schema
      - name: headers
        type: Headers
      - name: examples
        type: Example
    propertyOrder:
      - $Referenceable
      - $this
      - $Extensible

  - name: Headers
    properties:
      - name: '*'
        type: Header
    propertyOrder:
      - $this

  - name: Example
    properties:
      - name: '*'
        type: any
    propertyOrder:
      - $this

  - name: Header
    traits:
      - Extensible
      - SchemaLike
    properties:
      - name: items
        type: Items
      - name: collectionFormat
        type: string
    propertyOrder:
      - $SchemaLike
      - $this
      - $Extensible

  - name: Tag
    traits:
      - Extensible
    properties:
      - name: name
        type: string
      - name: description
        type: string
      - name: externalDocs
        type: ExternalDocumentation
    propertyOrder:
      - $this
      - $Extensible

  - name: Schema
    traits:
      - Extensible
      - Referenceable
      - SchemaLike
    properties:
      - name: title
        type: string
      - name: items
        type: 'Schema|[Schema]'
      - name: maxProperties
        type: integer
      - name: minProperties
        type: integer
      - name: required
        type: '[string]'
      - name: allOf
        type: '[Schema]'
      - name: properties
        type: '{Schema}'
      - name: additionalProperties
        type: 'boolean|Schema'
      - name: discriminator
        type: string
      - name: readOnly
        type: boolean
      - name: xml
        type: XML
      - name: externalDocs
        type: ExternalDocumentation
      - name: example
        type: any
    propertyOrder:
      - $Referenceable
      - $SchemaLike
      - $this
      - $Extensible

  - name: XML
    traits:
      - Extensible
    properties:
      - name: name
        type: string
      - name: namespace
        type: string
      - name: prefix
        type: string
      - name: attribute
        type: boolean
      - name: wrapped
        type: boolean
    propertyOrder:
      - $this
      - $Extensible

  - name: Definitions
    properties:
      - name: '*'
        type: Schema
    propertyOrder:
      - $this

  - name: ParameterDefinitions
    properties:
      - name: '*'
        type: Parameter
    propertyOrder:
      - $this

  - name: ResponseDefinitions
    properties:
      - name: '*'
        type: Response
    propertyOrder:
      - $this

  - name: SecurityDefinitions
    properties:
      - name: '*'
        type: SecurityScheme
    propertyOrder:
      - $this

  - name: SecurityScheme
    traits:
      - Extensible
    properties:
      - name: type
        type: string
      - name: description
        type: string
      - name: name
        type: string
      - name: in
        type: string
      - name: flow
        type: string
      - name: authorizationUrl
        type: string
      - name: tokenUrl
        type: string
      - name: scopes
        type: Scopes
    propertyOrder:
      - $this
      - $Extensible

  - name: Scopes
    traits:
      - Extensible
    properties:
      - name: '*'
        type: string
    propertyOrder:
      - $this
      - $Extensible

  - name: SecurityRequirement
    properties:
      - name: '*'
        type: '[string]'
    propertyOrder:
      - $this




© 2015 - 2024 Weber Informatics LLC | Privacy Policy