Skip to content

Latest commit

 

History

History
294 lines (261 loc) · 8.96 KB

specification_coverage.md

File metadata and controls

294 lines (261 loc) · 8.96 KB

Specification Coverage

The list below is organized like the OpenAPI Specification 3.1.x reference. Types that have OpenAPIKit representations are checked off. Types that have different names in OpenAPIKit than they do in the specification have their OpenAPIKit names in parenthesis.

For more information on the OpenAPIKit types, see the full type documentation.

Table of Contents

OpenAPI Object (OpenAPI.Document)

  • openapi (openAPIVersion)
  • info
  • jsonSchemaDialect
  • servers
  • paths
  • webhooks
  • components
  • security
  • tags
  • externalDocs
  • specification extensions (vendorExtensions)

Info Object (OpenAPI.Document.Info)

  • title
  • summary
  • description
  • termsOfService
  • contact
  • license
  • version
  • specification extensions (vendorExtensions)

Contact Object (OpenAPI.Document.Info.Contact)

  • name
  • url
  • email
  • specification extensions (vendorExtensions)

License Object (OpenAPI.Document.Info.License)

  • name
  • identifier (Identifier spdx case)
  • url (Identifier url case)
  • specification extensions (vendorExtensions)

Server Object (OpenAPI.Server)

  • url
  • description
  • variables
  • specification extensions (vendorExtensions)

Server Variable Object (OpenAPI.Server.Variable)

  • enum
  • default
  • description
  • specification extensions (vendorExtensions)

Components Object (OpenAPI.Components)

  • schemas
  • responses
  • parameters
  • examples
  • requestBodies
  • headers
  • securitySchemes
  • links
  • callbacks
  • pathItems
  • specification extensions (vendorExtensions)

Paths Object (OpenAPI.PathItem.Map)

  • dictionary
  • [ ] specification extensions (not a planned addition)

Path Item Object (OpenAPI.PathItem)

  • $ref
  • summary
  • description
  • get
  • put
  • post
  • delete
  • options
  • head
  • patch
  • trace
  • servers
  • parameters
  • specification extensions (vendorExtensions)

Operation Object (OpenAPI.Operation)

  • tags
  • summary
  • description
  • externalDocs
  • operationId
  • parameters
  • requestBody
  • responses
  • callbacks
  • deprecated
  • security
  • servers
  • specification extensions (vendorExtensions)

External Document Object (OpenAPI.ExternalDocumentation)

  • description
  • url
  • specification extensions (vendorExtensions)

Parameter Object (OpenAPI.Parameter)

  • name
  • in (context)
  • description
  • required (part of context)
  • deprecated
  • allowEmptyValue (part of context)
  • schema (schemaOrContent)
    • style
    • explode
    • allowReserved
    • example
    • examples
  • content (schemaOrContent)
  • specification extensions (vendorExtensions)

Request Body Object (OpenAPI.Request)

  • description
  • content
  • required
  • specification extensions (vendorExtensions)

Media Type Object (OpenAPI.Content)

  • schema
  • example
  • examples
  • encoding
  • specification extensions (vendorExtensions)

Encoding Object (OpenAPI.Content.Encoding)

  • contentType
  • headers
  • style
  • explode
  • allowReserved
  • specification extensions

Responses Object (OpenAPI.Response.Map)

  • default (Response.StatusCode.Code .default case)
  • dictionary
  • [ ] specification extensions (not a planned addition)

Response Object (OpenAPI.Response)

  • description
  • headers
  • content
  • links
  • specification extensions (vendorExtensions)

Callback Object

  • {expression}
  • specification extensions

Example Object (OpenAPI.Example)

  • summary
  • description
  • value
  • externalValue (part of value)
  • specification extensions (vendorExtensions)

Link Object

  • operationRef (operation URL value)
  • operationId (operation String value)
  • parameters
  • requestBody
  • description
  • server
  • specification extensions (vendorExtensions)

Header Object (OpenAPI.Header)

  • description
  • required
  • deprecated
  • schema (schemaOrContent)
    • style
    • explode
    • allowReserved
    • example
    • examples
  • content (schemaOrContent)
  • specification extensions (vendorExtensions)

Tag Object (OpenAPI.Tag)

  • name
  • description
  • externalDocs
  • specification extensions (vendorExtensions)

Reference Object (OpenAPI.Reference)

  • summary
  • description
  • $ref
    • local (same file) reference (internal case)
      • encode
      • decode
      • dereference
    • remote (different file) reference (external case)
      • encode
      • decode
      • dereference

Schema Object (JSONSchema)

  • Mostly complete support for JSON Schema inherited keywords (select ones enumerated below)
  • discriminator
  • readOnly (permissions .readOnly case)
  • writeOnly (permissions .writeOnly case)
  • xml
  • externalDocs
  • example
  • deprecated
  • specification extensions (vendorExtensions)

Discriminator Object (OpenAPI.Discriminator)

  • propertyName
  • mapping
  • specification extensions

XML Object (OpenAPI.XML)

  • name
  • namespace
  • prefix
  • attribute
  • wrapped
  • specification extensions

Security Scheme Object (OpenAPI.SecurityScheme)

  • type
  • description
  • name (SecurityType .apiKey case)
  • in (location in SecurityType .apiKey case)
  • scheme (SecurityType .http case)
  • bearerFormat (SecurityType .http case)
  • flows (SecurityType .oauth2 case)
  • openIdConnectUrl (SecurityType .openIdConnect case)
  • specification extensions (vendorExtensions)

OAuth Flows Object (OpenAPI.OauthFlows)

  • implicit
  • password
  • clientCredentials
  • authorizationCode
  • specification extensions

OAuth Flow Object (OpenAPI.OauthFlows.*)

  • OpenAPI.OauthFlows.Implicit
  • OpenAPI.OauthFlows.Password
  • OpenAPI.OauthFlows.ClientCredentials
  • OpenAPI.OauthFlows.AuthorizationCode
  • authorizationUrl
  • tokenUrl
  • refreshUrl
  • scopes
  • specification extensions

Security Requirement Object (OpenAPI.Document.SecurityRequirement)

  • {name} (using JSONReferences instead of a stringy API)