@diplodoc/translation
Version:
markdown translation utilities
1,000 lines (944 loc) • 23.3 kB
YAML
$id: 'https://spec.openapis.org/oas/3.1/schema/2022-10-07'
$schema: 'https://json-schema.org/draft/2020-12/schema'
description: The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0
type: object
properties:
openapi:
type: string
pattern: '^3\.1\.\d+(-.+)?$'
info:
$ref: '#/$defs/info'
jsonSchemaDialect:
type: string
format: uri
default: 'https://spec.openapis.org/oas/3.1/dialect/base'
servers:
type: array
items:
$ref: '#/$defs/server'
default:
- url: /
paths:
$ref: '#/$defs/paths'
webhooks:
type: object
additionalProperties:
$ref: '#/$defs/path-item'
components:
$ref: '#/$defs/components'
security:
type: array
items:
$ref: '#/$defs/security-requirement'
tags:
type: array
items:
$ref: '#/$defs/tag'
externalDocs:
$ref: '#/$defs/external-documentation'
required:
- openapi
- info
anyOf:
- required:
- paths
- required:
- components
- required:
- webhooks
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
$defs:
info:
$comment: https://spec.openapis.org/oas/v3.1.0#info-object
type: object
properties:
title:
type: string
translate: md
summary:
type: string
translate: md
description:
type: string
translate: md
termsOfService:
type: string
format: uri
contact:
$ref: '#/$defs/contact'
license:
$ref: '#/$defs/license'
version:
type: string
required:
- title
- version
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
contact:
$comment: https://spec.openapis.org/oas/v3.1.0#contact-object
type: object
properties:
name:
type: string
url:
type: string
format: uri
email:
type: string
format: email
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
license:
$comment: https://spec.openapis.org/oas/v3.1.0#license-object
type: object
properties:
name:
type: string
identifier:
type: string
url:
type: string
format: uri
required:
- name
dependentSchemas:
identifier:
not:
required:
- url
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
server:
$comment: https://spec.openapis.org/oas/v3.1.0#server-object
type: object
properties:
url:
type: string
description:
type: string
translate: md
variables:
type: object
additionalProperties:
$ref: '#/$defs/server-variable'
required:
- url
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
server-variable:
$comment: https://spec.openapis.org/oas/v3.1.0#server-variable-object
type: object
properties:
enum:
type: array
items:
type: string
minItems: 1
default:
type: string
description:
type: string
translate: md
required:
- default
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
components:
$comment: https://spec.openapis.org/oas/v3.1.0#components-object
type: object
properties:
schemas:
type: object
additionalProperties:
$dynamicRef: '#meta'
responses:
type: object
additionalProperties:
$ref: '#/$defs/response-or-reference'
parameters:
type: object
additionalProperties:
$ref: '#/$defs/parameter-or-reference'
examples:
type: object
additionalProperties:
$ref: '#/$defs/example-or-reference'
requestBodies:
type: object
additionalProperties:
$ref: '#/$defs/request-body-or-reference'
headers:
type: object
additionalProperties:
$ref: '#/$defs/header-or-reference'
securitySchemes:
type: object
additionalProperties:
$ref: '#/$defs/security-scheme-or-reference'
links:
type: object
additionalProperties:
$ref: '#/$defs/link-or-reference'
callbacks:
type: object
additionalProperties:
$ref: '#/$defs/callbacks-or-reference'
pathItems:
type: object
additionalProperties:
$ref: '#/$defs/path-item'
patternProperties:
'^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$':
$comment: Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected
propertyNames:
pattern: '^[a-zA-Z0-9._-]+$'
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
paths:
$comment: https://spec.openapis.org/oas/v3.1.0#paths-object
type: object
patternProperties:
'^/':
$ref: '#/$defs/path-item'
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
path-item:
$comment: https://spec.openapis.org/oas/v3.1.0#path-item-object
type: object
properties:
$ref:
type: string
format: uri-reference
summary:
type: string
translate: md
description:
type: string
translate: md
servers:
type: array
items:
$ref: '#/$defs/server'
parameters:
type: array
items:
$ref: '#/$defs/parameter-or-reference'
get:
$ref: '#/$defs/operation'
put:
$ref: '#/$defs/operation'
post:
$ref: '#/$defs/operation'
delete:
$ref: '#/$defs/operation'
options:
$ref: '#/$defs/operation'
head:
$ref: '#/$defs/operation'
patch:
$ref: '#/$defs/operation'
trace:
$ref: '#/$defs/operation'
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
operation:
$comment: https://spec.openapis.org/oas/v3.1.0#operation-object
type: object
properties:
tags:
type: array
items:
type: string
summary:
type: string
translate: md
description:
type: string
translate: md
externalDocs:
$ref: '#/$defs/external-documentation'
operationId:
type: string
parameters:
type: array
items:
$ref: '#/$defs/parameter-or-reference'
requestBody:
$ref: '#/$defs/request-body-or-reference'
responses:
$ref: '#/$defs/responses'
callbacks:
type: object
additionalProperties:
$ref: '#/$defs/callbacks-or-reference'
deprecated:
default: false
type: boolean
security:
type: array
items:
$ref: '#/$defs/security-requirement'
servers:
type: array
items:
$ref: '#/$defs/server'
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
external-documentation:
$comment: https://spec.openapis.org/oas/v3.1.0#external-documentation-object
type: object
properties:
description:
type: string
translate: md
url:
type: string
format: uri
required:
- url
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
parameter:
$comment: https://spec.openapis.org/oas/v3.1.0#parameter-object
type: object
properties:
name:
type: string
in:
enum:
- query
- header
- path
- cookie
description:
type: string
translate: md
required:
default: false
type: boolean
deprecated:
default: false
type: boolean
schema:
$dynamicRef: '#meta'
content:
$ref: '#/$defs/content'
minProperties: 1
maxProperties: 1
required:
- name
- in
oneOf:
- required:
- schema
- required:
- content
if:
properties:
in:
const: query
required:
- in
then:
properties:
allowEmptyValue:
default: false
type: boolean
dependentSchemas:
schema:
properties:
style:
type: string
explode:
type: boolean
allOf:
- $ref: '#/$defs/examples'
- $ref: '#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path'
- $ref: '#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header'
- $ref: '#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query'
- $ref: '#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie'
- $ref: '#/$defs/styles-for-form'
$defs:
styles-for-path:
if:
properties:
in:
const: path
required:
- in
then:
properties:
style:
default: simple
enum:
- matrix
- label
- simple
required:
const: true
required:
- required
styles-for-header:
if:
properties:
in:
const: header
required:
- in
then:
properties:
style:
default: simple
const: simple
styles-for-query:
if:
properties:
in:
const: query
required:
- in
then:
properties:
style:
default: form
enum:
- form
- spaceDelimited
- pipeDelimited
- deepObject
allowReserved:
default: false
type: boolean
styles-for-cookie:
if:
properties:
in:
const: cookie
required:
- in
then:
properties:
style:
default: form
const: form
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
parameter-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/parameter'
request-body:
$comment: https://spec.openapis.org/oas/v3.1.0#request-body-object
type: object
properties:
description:
type: string
translate: md
content:
$ref: '#/$defs/content'
required:
default: false
type: boolean
required:
- content
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
request-body-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/request-body'
content:
$comment: https://spec.openapis.org/oas/v3.1.0#fixed-fields-10
type: object
additionalProperties:
$ref: '#/$defs/media-type'
propertyNames:
format: media-range
media-type:
$comment: https://spec.openapis.org/oas/v3.1.0#media-type-object
type: object
properties:
schema:
type:
- object
- boolean
$ref: 'http://json-schema.org/draft-07/schema'
encoding:
type: object
additionalProperties:
$ref: '#/$defs/encoding'
allOf:
- $ref: '#/$defs/specification-extensions'
- $ref: '#/$defs/examples'
unevaluatedProperties: false
encoding:
$comment: https://spec.openapis.org/oas/v3.1.0#encoding-object
type: object
properties:
contentType:
type: string
format: media-range
headers:
type: object
additionalProperties:
$ref: '#/$defs/header-or-reference'
style:
default: form
enum:
- form
- spaceDelimited
- pipeDelimited
- deepObject
explode:
type: boolean
allowReserved:
default: false
type: boolean
allOf:
- $ref: '#/$defs/specification-extensions'
- $ref: '#/$defs/styles-for-form'
unevaluatedProperties: false
responses:
$comment: https://spec.openapis.org/oas/v3.1.0#responses-object
type: object
properties:
default:
$ref: '#/$defs/response-or-reference'
patternProperties:
'^[1-5](?:[0-9]{2}|XX)$':
$ref: '#/$defs/response-or-reference'
minProperties: 1
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
if:
$comment: either default, or at least one response code property must exist
patternProperties:
'^[1-5](?:[0-9]{2}|XX)$': false
then:
required: [default]
response:
$comment: https://spec.openapis.org/oas/v3.1.0#response-object
type: object
properties:
description:
type: string
translate: md
headers:
type: object
additionalProperties:
$ref: '#/$defs/header-or-reference'
content:
$ref: '#/$defs/content'
links:
type: object
additionalProperties:
$ref: '#/$defs/link-or-reference'
required:
- description
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
response-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/response'
callbacks:
$comment: https://spec.openapis.org/oas/v3.1.0#callback-object
type: object
$ref: '#/$defs/specification-extensions'
additionalProperties:
$ref: '#/$defs/path-item'
callbacks-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/callbacks'
example:
$comment: https://spec.openapis.org/oas/v3.1.0#example-object
type: object
properties:
summary:
type: string
translate: md
description:
type: string
translate: md
value: true
externalValue:
type: string
format: uri
not:
required:
- value
- externalValue
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
example-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/example'
link:
$comment: https://spec.openapis.org/oas/v3.1.0#link-object
type: object
properties:
operationRef:
type: string
operationId:
type: string
parameters:
$ref: '#/$defs/map-of-strings'
requestBody: true
description:
type: string
translate: md
body:
$ref: '#/$defs/server'
oneOf:
- required:
- operationRef
- required:
- operationId
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
link-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/link'
header:
$comment: https://spec.openapis.org/oas/v3.1.0#header-object
type: object
properties:
description:
type: string
translate: md
required:
default: false
type: boolean
deprecated:
default: false
type: boolean
schema:
$dynamicRef: '#meta'
content:
$ref: '#/$defs/content'
minProperties: 1
maxProperties: 1
oneOf:
- required:
- schema
- required:
- content
dependentSchemas:
schema:
properties:
style:
default: simple
const: simple
explode:
default: false
type: boolean
$ref: '#/$defs/examples'
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
header-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/header'
tag:
$comment: https://spec.openapis.org/oas/v3.1.0#tag-object
type: object
properties:
name:
type: string
description:
type: string
translate: md
externalDocs:
$ref: '#/$defs/external-documentation'
required:
- name
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
reference:
$comment: https://spec.openapis.org/oas/v3.1.0#reference-object
type: object
properties:
$ref:
type: string
format: uri-reference
summary:
type: string
translate: md
description:
type: string
translate: md
schema:
$comment: https://spec.openapis.org/oas/v3.1.0#schema-object
# $dynamicAnchor: meta
$ref: 'https://json-schema.org/draft/2020-12/schema'
type:
- object
- boolean
security-scheme:
$comment: https://spec.openapis.org/oas/v3.1.0#security-scheme-object
type: object
properties:
type:
enum:
- apiKey
- http
- mutualTLS
- oauth2
- openIdConnect
description:
type: string
translate: md
required:
- type
allOf:
- $ref: '#/$defs/specification-extensions'
- $ref: '#/$defs/security-scheme/$defs/type-apikey'
- $ref: '#/$defs/security-scheme/$defs/type-http'
- $ref: '#/$defs/security-scheme/$defs/type-http-bearer'
- $ref: '#/$defs/security-scheme/$defs/type-oauth2'
- $ref: '#/$defs/security-scheme/$defs/type-oidc'
unevaluatedProperties: false
$defs:
type-apikey:
if:
properties:
type:
const: apiKey
required:
- type
then:
properties:
name:
type: string
in:
enum:
- query
- header
- cookie
required:
- name
- in
type-http:
if:
properties:
type:
const: http
required:
- type
then:
properties:
scheme:
type: string
required:
- scheme
type-http-bearer:
if:
properties:
type:
const: http
scheme:
type: string
pattern: ^[Bb][Ee][Aa][Rr][Ee][Rr]$
required:
- type
- scheme
then:
properties:
bearerFormat:
type: string
type-oauth2:
if:
properties:
type:
const: oauth2
required:
- type
then:
properties:
flows:
$ref: '#/$defs/oauth-flows'
required:
- flows
type-oidc:
if:
properties:
type:
const: openIdConnect
required:
- type
then:
properties:
openIdConnectUrl:
type: string
format: uri
required:
- openIdConnectUrl
security-scheme-or-reference:
if:
type: object
required:
- $ref
then:
$ref: '#/$defs/reference'
else:
$ref: '#/$defs/security-scheme'
oauth-flows:
type: object
properties:
implicit:
$ref: '#/$defs/oauth-flows/$defs/implicit'
password:
$ref: '#/$defs/oauth-flows/$defs/password'
clientCredentials:
$ref: '#/$defs/oauth-flows/$defs/client-credentials'
authorizationCode:
$ref: '#/$defs/oauth-flows/$defs/authorization-code'
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
$defs:
implicit:
type: object
properties:
authorizationUrl:
type: string
format: uri
refreshUrl:
type: string
format: uri
scopes:
$ref: '#/$defs/map-of-strings'
required:
- authorizationUrl
- scopes
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
password:
type: object
properties:
tokenUrl:
type: string
format: uri
refreshUrl:
type: string
format: uri
scopes:
$ref: '#/$defs/map-of-strings'
required:
- tokenUrl
- scopes
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
client-credentials:
type: object
properties:
tokenUrl:
type: string
format: uri
refreshUrl:
type: string
format: uri
scopes:
$ref: '#/$defs/map-of-strings'
required:
- tokenUrl
- scopes
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
authorization-code:
type: object
properties:
authorizationUrl:
type: string
format: uri
tokenUrl:
type: string
format: uri
refreshUrl:
type: string
format: uri
scopes:
$ref: '#/$defs/map-of-strings'
required:
- authorizationUrl
- tokenUrl
- scopes
$ref: '#/$defs/specification-extensions'
unevaluatedProperties: false
security-requirement:
$comment: https://spec.openapis.org/oas/v3.1.0#security-requirement-object
type: object
additionalProperties:
type: array
items:
type: string
specification-extensions:
$comment: https://spec.openapis.org/oas/v3.1.0#specification-extensions
patternProperties:
'^x-': true
examples:
properties:
example: true
examples:
type: object
additionalProperties:
$ref: '#/$defs/example-or-reference'
map-of-strings:
type: object
additionalProperties:
type: string
translate: 'md'
styles-for-form:
if:
properties:
style:
const: form
required:
- style
then:
properties:
explode:
default: true
else:
properties:
explode:
default: false