openapi: 3.0.4
info:
title: OpenAPI 3.0.4 example
version: '1'
servers:
- url: http://localhost:3000/base
paths:
/api/v{api-version}/no+tag:
tags: []
get:
operationId: export
patch:
responses:
default:
description: OK
post:
operationId: import
requestBody:
required: true
content:
application/json:
schema:
type: object
oneOf:
- $ref: '#/components/schemas/ModelWithReadOnlyAndWriteOnly'
- $ref: '#/components/schemas/ModelWithArrayReadOnlyAndWriteOnly'
responses:
'200':
description: Success
content:
application/json; type=collection:
schema:
$ref: '#/components/schemas/Model-From.Zendesk'
default:
description: Default success response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithReadOnlyAndWriteOnly'
put:
operationId: foo+Wow
responses:
default:
description: OK
/api/v{api-version}/simple/$count:
get:
tags:
- Simple
operationId: api/v{version}/ODataController/$count
responses:
'200':
description: Success
content:
application/json; type=collection:
schema:
$ref: '#/components/schemas/Model-From.Zendesk'
/api/v{api-version}/simple:operation:
get:
parameters:
- description: foo in method
in: path
name: foo_param
required: true
schema:
type: string
responses:
'200':
description: Response is a simple number
content:
application/json:
schema:
type: number
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithBoolean'
/api/v{api-version}/simple:
get:
tags:
- Simple
operationId: GetCallWithoutParametersAndResponse
put:
tags:
- Simple
operationId: PutCallWithoutParametersAndResponse
post:
tags:
- Simple
operationId: PostCallWithoutParametersAndResponse
delete:
tags:
- Simple
operationId: DeleteCallWithoutParametersAndResponse
options:
tags:
- Simple
operationId: OptionsCallWithoutParametersAndResponse
head:
tags:
- Simple
operationId: HeadCallWithoutParametersAndResponse
patch:
tags:
- Simple
operationId: PatchCallWithoutParametersAndResponse
/api/v{api-version}/foo/{foo_param}/bar/{BarParam}:
delete:
tags:
- Parameters
operationId: deleteFoo
parameters:
- description: foo in method
in: path
name: foo_param
required: true
schema:
type: string
- description: bar in method
in: path
name: BarParam
required: true
schema:
type: string
- description: Parameter with illegal characters
name: x-Foo-Bar
in: header
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithString'
parameters:
- description: foo in global parameters
in: path
name: foo_param
required: true
schema:
type: string
- description: bar in global parameters
in: path
name: BarParam
required: true
schema:
type: string
/api/v{api-version}/descriptions:
post:
tags:
- Descriptions
operationId: CallWithDescriptions
parameters:
- description: |-
Testing multiline comments in string: First line
Second line
Fourth line
name: parameterWithBreaks
in: query
schema:
type: string
- description: 'Testing backticks in string: `backticks` and ```multiple
backticks``` should work'
name: parameterWithBackticks
in: query
schema:
type: string
- description:
"Testing slashes in string: \\backwards\\\\\\ and /forwards///
should work"
name: parameterWithSlashes
in: query
schema:
type: string
- description:
'Testing expression placeholders in string: ${expression} should
work'
name: parameterWithExpressionPlaceholders
in: query
schema:
type: string
- description:
'Testing quotes in string: ''single quote'''''' and "double
quotes""" should work'
name: parameterWithQuotes
in: query
schema:
type: string
- description:
'Testing reserved characters in string: /* inline */ and /** inline
**/ should work'
name: parameterWithReservedCharacters
in: query
schema:
type: string
/api/v{api-version}/parameters/deprecated:
post:
tags:
- Deprecated
deprecated: true
operationId: DeprecatedCall
parameters:
- deprecated: true
description: This parameter is deprecated
name: parameter
in: header
required: true
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/DeprecatedModel'
/api/v{api-version}/parameters/{parameterPath}:
post:
tags:
- Parameters
operationId: CallWithParameters
parameters:
- description: This is the parameter that goes into the header
name: parameterHeader
in: header
required: true
schema:
nullable: true
type: string
- required: false
schema:
$ref: '#/components/schemas/ModelWithNestedArrayEnumsDataFoo'
name: foo_ref_enum
in: query
- required: true
schema:
allOf:
- $ref: '#/components/schemas/ModelWithNestedArrayEnumsDataFoo'
name: foo_all_of_enum
in: query
- description: This is the parameter that goes into the query params
name: cursor
in: query
required: true
schema:
nullable: true
type: string
- description: This is the parameter that goes into the cookie
name: parameterCookie
in: cookie
required: true
schema:
nullable: true
type: string
- description: This is the parameter that goes into the path
name: parameterPath
in: path
required: true
schema:
nullable: true
type: string
- description: api-version should be required in standalone clients
name: api-version
in: path
required: true
schema:
nullable: true
type: string
requestBody:
description: This is the parameter that goes into the body
required: true
content:
application/json:
schema:
nullable: true
properties: {}
type: object
/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}:
post:
tags:
- Parameters
operationId: CallWithWeirdParameterNames
parameters:
- description: This is the parameter that goes into the path
name: parameter.path.1
in: path
required: false
schema:
nullable: false
type: string
- description: This is the parameter that goes into the path
name: parameter-path-2
in: path
required: false
schema:
nullable: false
type: string
- description: This is the parameter that goes into the path
name: PARAMETER-PATH-3
in: path
required: false
schema:
nullable: false
type: string
- description: This is the parameter with a reserved keyword
name: default
in: query
required: false
schema:
nullable: false
type: string
- description: This is the parameter that goes into the request header
name: parameter.header
in: header
required: true
schema:
nullable: true
type: string
- description: This is the parameter that goes into the request query params
name: parameter-query
in: query
required: true
schema:
nullable: true
type: string
- description: This is the parameter that goes into the cookie
name: PARAMETER-COOKIE
in: cookie
required: true
schema:
nullable: true
type: string
- description: api-version should be required in standalone clients
name: api-version
in: path
required: true
schema:
nullable: true
type: string
requestBody:
description: This is the parameter that goes into the body
required: true
content:
application/json:
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/ModelWithString'
/api/v{api-version}/parameters:
get:
tags:
- Parameters
operationId: GetCallWithOptionalParam
parameters:
- description: This is an optional parameter
name: page
in: query
required: false
schema:
type: number
requestBody:
description: This is a required parameter
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithOneOfEnum'
post:
tags:
- Parameters
operationId: PostCallWithOptionalParam
parameters:
- description: This is a required parameter
name: parameter
in: query
required: true
schema:
$ref: '#/components/schemas/Pageable'
requestBody:
description: This is an optional parameter
required: false
content:
application/json:
schema:
properties:
offset:
nullable: true
required: true
type: number
type: object
responses:
'200':
description: Response is a simple number
content:
application/json:
schema:
type: number
'204':
description: Success
/api/v{api-version}/requestBody:
post:
tags:
- RequestBody
parameters:
- $ref: '#/components/parameters/SimpleParameter'
requestBody:
$ref: '#/components/requestBodies/SimpleRequestBody'
/api/v{api-version}/formData:
post:
tags:
- FormData
parameters:
- $ref: '#/components/parameters/SimpleParameter'
requestBody:
$ref: '#/components/requestBodies/SimpleFormData'
/api/v{api-version}/defaults:
get:
tags:
- Defaults
operationId: CallWithDefaultParameters
parameters:
- description: This is a simple string with default value
name: parameterString
in: query
schema:
nullable: true
type: string
default: Hello World!
- description: This is a simple number with default value
name: parameterNumber
in: query
schema:
nullable: true
type: number
default: 123
- description: This is a simple boolean with default value
name: parameterBoolean
in: query
schema:
nullable: true
type: boolean
default: true
- description: This is a simple enum with default value
name: parameterEnum
in: query
schema:
enum:
- Success
- Warning
- Error
default: 0
- description: This is a simple model with default value
name: parameterModel
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/ModelWithString'
default:
prop: Hello World!
post:
tags:
- Defaults
operationId: CallWithDefaultOptionalParameters
parameters:
- description: This is a simple string that is optional with default value
name: parameterString
in: query
required: false
schema:
type: string
default: Hello World!
- description: This is a simple number that is optional with default value
name: parameterNumber
in: query
required: false
schema:
type: number
default: 123
- description: This is a simple boolean that is optional with default value
name: parameterBoolean
in: query
required: false
schema:
type: boolean
default: true
- description: This is a simple enum that is optional with default value
name: parameterEnum
in: query
required: false
schema:
enum:
- Success
- Warning
- Error
default: 0
- description: This is a simple model that is optional with default value
name: parameterModel
in: query
required: false
schema:
$ref: '#/components/schemas/ModelWithString'
default:
prop: Hello World!
put:
tags:
- Defaults
operationId: CallToTestOrderOfParams
parameters:
- description: This is a optional string with default
name: parameterOptionalStringWithDefault
in: query
required: false
schema:
type: string
default: Hello World!
- description: This is a optional string with empty default
name: parameterOptionalStringWithEmptyDefault
in: query
required: false
schema:
type: string
default: ''
- description: This is a optional string with no default
name: parameterOptionalStringWithNoDefault
in: query
required: false
schema:
type: string
- description: This is a string with default
name: parameterStringWithDefault
in: query
required: true
schema:
type: string
default: Hello World!
- description: This is a string with empty default
name: parameterStringWithEmptyDefault
in: query
required: true
schema:
type: string
default: ''
- description: This is a string with no default
name: parameterStringWithNoDefault
in: query
required: true
schema:
type: string
- description: This is a string that can be null with no default
name: parameterStringNullableWithNoDefault
in: query
required: false
schema:
type: string
nullable: true
- description: This is a string that can be null with default
name: parameterStringNullableWithDefault
in: query
required: false
schema:
type: string
nullable: true
default: null
/api/v{api-version}/duplicate:
delete:
tags:
- Duplicate
operationId: DuplicateName
get:
tags:
- Duplicate
operationId: DuplicateName2
post:
tags:
- Duplicate
operationId: DuplicateName3
put:
tags:
- Duplicate
operationId: DuplicateName4
/api/v{api-version}/no-content:
get:
tags:
- NoContent
operationId: CallWithNoContentResponse
responses:
'204':
description: Success
/api/v{api-version}/multiple-tags/response-and-no-content:
get:
tags:
- Response
- NoContent
operationId: CallWithResponseAndNoContentResponse
responses:
'200':
description: Response is a simple number
content:
application/json:
schema:
type: number
'204':
description: Success
/api/v{api-version}/multiple-tags/a:
get:
tags:
- MultipleTags1
- MultipleTags2
operationId: DummyA
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/400'
/api/v{api-version}/multiple-tags/b:
get:
tags:
- MultipleTags1
- MultipleTags2
- MultipleTags3
operationId: DummyB
responses:
'204':
description: Success
/api/v{api-version}/response:
get:
tags:
- Response
operationId: CallWithResponse
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/import'
post:
tags:
- Response
operationId: CallWithDuplicateResponses
responses:
'200':
description: Message for 200 response
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ModelWithBoolean'
- $ref: '#/components/schemas/ModelWithInteger'
'201':
description: Message for 201 response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithString'
'202':
description: Message for 202 response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithString'
'500':
description: Message for 500 error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
'501':
description: Message for 501 error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
'502':
description: Message for 502 error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithBoolean'
4XX:
description: Message for 4XX errors
content:
application/json:
schema:
$ref: '#/components/schemas/DictionaryWithArray'
put:
tags:
- Response
operationId: CallWithResponses
responses:
'200':
description: Message for 200 response
content:
application/json:
schema:
type: object
properties:
'@namespace.string':
type: string
readOnly: true
'@namespace.integer':
type: integer
readOnly: true
value:
type: array
items:
$ref: '#/components/schemas/ModelWithString'
readOnly: true
'201':
description: Message for 201 response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelThatExtends'
'202':
description: Message for 202 response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelThatExtendsExtends'
'500':
description: Message for 500 error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
'501':
description: Message for 501 error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
'502':
description: Message for 502 error
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
default:
description: Message for default response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithStringError'
/api/v{api-version}/collectionFormat:
get:
tags:
- CollectionFormat
operationId: CollectionFormat
parameters:
- description: This is an array parameter that is sent as csv format
(comma-separated values)
name: parameterArrayCSV
in: query
required: true
schema:
nullable: true
type: array
items:
type: string
collectionFormat: csv
- description: This is an array parameter that is sent as ssv format
(space-separated values)
name: parameterArraySSV
in: query
required: true
schema:
nullable: true
type: array
items:
type: string
collectionFormat: ssv
- description: This is an array parameter that is sent as tsv format
(tab-separated values)
name: parameterArrayTSV
in: query
required: true
schema:
nullable: true
type: array
items:
type: string
collectionFormat: tsv
- description: This is an array parameter that is sent as pipes format
(pipe-separated values)
name: parameterArrayPipes
in: query
required: true
schema:
nullable: true
type: array
items:
type: string
collectionFormat: pipes
- description:
This is an array parameter that is sent as multi format (multiple
parameter instances)
name: parameterArrayMulti
in: query
required: true
schema:
nullable: true
type: array
items:
type: string
collectionFormat: multi
/api/v{api-version}/types:
get:
tags:
- Types
operationId: Types
parameters:
- description: This is a number parameter
name: parameterNumber
in: query
required: true
schema:
type: number
default: 123
- description: This is a string parameter
name: parameterString
in: query
required: true
schema:
type: string
default: default
nullable: true
- description: This is a boolean parameter
name: parameterBoolean
in: query
required: true
schema:
type: boolean
default: true
nullable: true
- description: This is an object parameter
name: parameterObject
in: query
required: true
schema:
type: object
default: null
nullable: true
- description: This is an array parameter
name: parameterArray
in: query
required: true
schema:
type: array
items:
type: string
nullable: true
- description: This is a dictionary parameter
name: parameterDictionary
in: query
required: true
schema:
type: object
items:
type: string
nullable: true
- description: This is an enum parameter
name: parameterEnum
in: query
required: true
schema:
enum:
- Success
- Warning
- Error
nullable: true
- description: This is a number parameter
name: id
in: path
schema:
type: integer
format: int32
responses:
'200':
description: Response is a simple number
content:
application/json:
schema:
type: number
'201':
description: Response is a simple string
content:
application/json:
schema:
type: string
'202':
description: Response is a simple boolean
content:
application/json:
schema:
type: boolean
'203':
description: Response is a simple object
content:
application/json:
schema:
type: object
/api/v{api-version}/upload:
post:
tags:
- Upload
operationId: UploadFile
parameters:
- description: api-version should be required in standalone clients
name: api-version
in: path
required: true
schema:
type: string
nullable: true
requestBody:
content:
application/x-www-form-urlencoded:
description: Supply a file reference for upload
schema:
format: binary
type: string
required: true
responses:
'200':
content:
application/json:
schema:
type: boolean
/api/v{api-version}/file/{id}:
get:
tags:
- FileResponse
operationId: FileResponse
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: api-version should be required in standalone clients
name: api-version
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
content:
audio/*:
schema:
format: binary
type: string
video/*:
schema:
format: binary
type: string
/api/v{api-version}/complex:
get:
tags:
- Complex
operationId: ComplexTypes
parameters:
- description: Parameter containing object
name: parameterObject
in: query
required: true
schema:
type: object
properties:
first:
type: object
properties:
second:
type: object
properties:
third:
type: string
- description: Parameter containing reference
name: parameterReference
in: query
required: true
schema:
$ref: '#/components/schemas/ModelWithString'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ModelWithString'
'400':
description: 400 `server` error
'500':
description: 500 server error
/api/v{api-version}/multipart:
post:
tags:
- multipart
operationId: MultipartRequest
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
content:
type: string
format: binary
data:
allOf:
- $ref: '#/components/schemas/ModelWithString'
nullable: true
encoding:
content:
style: form
data:
style: form
get:
tags:
- multipart
operationId: MultipartResponse
responses:
'200':
description: OK
content:
multipart/mixed:
schema:
type: object
properties:
file:
type: string
format: binary
metadata:
type: object
properties:
foo:
type: string
bar:
type: string
/api/v{api-version}/complex/{id}:
put:
tags:
- Complex
operationId: ComplexParams
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
- description: api-version should be required in standalone clients
name: api-version
in: path
required: true
schema:
type: string
requestBody:
content:
application/json-patch+json:
schema:
required:
- key
- name
- parameters
- type
type: object
properties:
key:
maxLength: 64
pattern: ^[a-zA-Z0-9_]*$
type: string
nullable: true
readOnly: true
name:
maxLength: 255
type: string
nullable: true
enabled:
type: boolean
default: true
type:
enum:
- Monkey
- Horse
- Bird
type: string
readOnly: true
listOfModels:
type: array
items:
$ref: '#/components/schemas/ModelWithString'
nullable: true
listOfStrings:
type: array
items:
type: string
nullable: true
parameters:
type: object
oneOf:
- $ref: '#/components/schemas/ModelWithString'
- $ref: '#/components/schemas/ModelWithEnum'
- $ref: '#/components/schemas/ModelWithArray'
- $ref: '#/components/schemas/ModelWithDictionary'
user:
type: object
properties:
id:
type: integer
format: int32
readOnly: true
name:
type: string
nullable: true
readOnly: true
readOnly: true
responses:
'200':
description: Success
content:
application/json; type=collection:
schema:
$ref: '#/components/schemas/ModelWithString'
/api/v{api-version}/header:
post:
tags:
- Header
operationId: CallWithResultFromHeader
responses:
'200':
description: Successful response
headers:
operation-location:
schema:
type: string
'400':
description: 400 server error
'500':
description: 500 server error
/api/v{api-version}/error:
post:
tags:
- Error
operationId: testErrorCode
parameters:
- description: Status code to return
name: status
in: query
required: true
schema:
type: integer
responses:
'200':
description: 'Custom message: Successful response'
'500':
description: 'Custom message: Internal Server Error'
'501':
description: 'Custom message: Not Implemented'
'502':
description: 'Custom message: Bad Gateway'
'503':
description: 'Custom message: Service Unavailable'
/api/v{api-version}/non-ascii-æøåÆØÅöôêÊ字符串:
post:
tags:
- Non-Ascii-æøåÆØÅöôêÊ
operationId: nonAsciiæøåÆØÅöôêÊ字符串
parameters:
- description: Dummy input param
name: nonAsciiParamæøåÆØÅöôêÊ
in: query
required: true
schema:
type: integer
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NonAsciiStringæøåÆØÅöôêÊ字符串'
put:
tags:
- Non-Ascii-æøåÆØÅöôêÊ
summary: Login User
operationId: putWithFormUrlEncoded
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ArrayWithStrings'
required: true
components:
requestBodies:
SimpleRequestBody:
x-body-name: foo
description: A reusable request body
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithString'
SimpleFormData:
description: A reusable request body
required: false
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/ModelWithString'
parameters:
SimpleParameter:
description: This is a reusable parameter
name: parameter
in: query
required: false
schema:
type: string
x-Foo-Bar:
description: Parameter with illegal characters
name: x-Foo-Bar
in: header
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModelWithString'
schemas:
ExternalRefA:
description: External ref to shared model (A)
$ref: './external-shared.json#/components/schemas/ExternalSharedModel'
ExternalRefB:
description: External ref to shared model (B)
$ref: './external-shared.json#/components/schemas/ExternalSharedModel'
'400':
description: Model with number-only name
type: string
camelCaseCommentWithBreaks:
description: |-
Testing multiline comments in string: First line
Second line
Fourth line
type: integer
CommentWithBreaks:
description: |-
Testing multiline comments in string: First line
Second line
Fourth line
type: integer
CommentWithBackticks:
description: 'Testing backticks in string: `backticks` and ```multiple
backticks``` should work'
type: integer
CommentWithBackticksAndQuotes:
description:
'Testing backticks and quotes in string: `backticks`, ''quotes'',
"double quotes" and ```multiple backticks``` should work'
type: integer
CommentWithSlashes:
description:
"Testing slashes in string: \\backwards\\\\\\ and /forwards///
should work"
type: integer
CommentWithExpressionPlaceholders:
description: 'Testing expression placeholders in string: ${expression} should work'
type: integer
CommentWithQuotes:
description: 'Testing quotes in string: ''single quote'''''' and "double
quotes""" should work'
type: integer
CommentWithReservedCharacters:
description:
'Testing reserved characters in string: /* inline */ and /** inline
**/ should work'
type: integer
SimpleInteger:
description: This is a simple number
type: integer
SimpleBoolean:
description: This is a simple boolean
type: boolean
SimpleString:
description: This is a simple string
type: string
NonAsciiStringæøåÆØÅöôêÊ字符串:
description:
A string with non-ascii (unicode) characters valid in typescript
identifiers (æøåÆØÅöÔèÈ字符串)
type: string
SimpleFile:
description: This is a simple file
format: binary
type: string
SimpleReference:
description: This is a simple reference
allOf:
- $ref: '#/components/schemas/ModelWithString'
SimpleStringWithPattern:
description: This is a simple string
type: string
nullable: true
maxLength: 64
pattern: ^[a-zA-Z0-9_]*$
EnumWithStrings:
description: This is a simple enum with strings
enum:
- Success
- Warning
- Error
- "'Single Quote'"
- '"Double Quotes"'
- 'Non-ascii: øæåôöØÆÅÔÖ字符串'
EnumWithReplacedCharacters:
enum:
- "'Single Quote'"
- '"Double Quotes"'
- øæåôöØÆÅÔÖ字符串
- 3.1
- ''
type: string
EnumWithNumbers:
description: This is a simple enum with numbers
enum:
- 1
- 2
- 3
- 1.1
- 1.2
- 1.3
- 100
- 200
- 300
- -100
- -200
- -300
- -1.1
- -1.2
- -1.3
default: 200
EnumFromDescription:
description: Success=1,Warning=2,Error=3
type: number
EnumWithExtensions:
description: This is a simple enum with numbers
enum:
- 200
- 400
- 500
x-enum-varnames:
- CUSTOM_SUCCESS
- CUSTOM_WARNING
- CUSTOM_ERROR
x-enum-descriptions:
- Used when the status of something is successful
- Used when the status of something has a warning
- Used when the status of something has an error
EnumWithXEnumNames:
enum:
- 0
- 1
- 2
x-enumNames:
- zero
- one
- two
ArrayWithNumbers:
description: This is a simple array with numbers
type: array
items:
type: integer
ArrayWithBooleans:
description: This is a simple array with booleans
type: array
items:
type: boolean
ArrayWithStrings:
description: This is a simple array with strings
type: array
items:
type: string
default:
- test
ArrayWithReferences:
description: This is a simple array with references
type: array
items:
$ref: '#/components/schemas/ModelWithString'
ArrayWithArray:
description: This is a simple array containing an array
type: array
items:
type: array
items:
$ref: '#/components/schemas/ModelWithString'
ArrayWithProperties:
description: This is a simple array with properties
type: array
items:
type: object
properties:
16x16:
$ref: '#/components/schemas/camelCaseCommentWithBreaks'
bar:
type: string
ArrayWithAnyOfProperties:
description: This is a simple array with any of properties
type: array
items:
anyOf:
- type: object
properties:
foo:
type: string
default: test
- type: object
properties:
bar:
type: string
AnyOfAnyAndNull:
type: object
properties:
data:
anyOf:
- {}
- nullable: true
AnyOfArrays:
description: This is a simple array with any of properties
type: object
properties:
results:
items:
anyOf:
- type: object
properties:
foo:
type: string
- type: object
properties:
bar:
type: string
type: array
DictionaryWithString:
description: This is a string dictionary
type: object
additionalProperties:
type: string
DictionaryWithPropertiesAndAdditionalProperties:
type: object
properties:
foo:
type: number
bar:
type: boolean
additionalProperties:
type: string
DictionaryWithReference:
description: This is a string reference
type: object
additionalProperties:
$ref: '#/components/schemas/ModelWithString'
DictionaryWithArray:
description: This is a complex dictionary
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ModelWithString'
DictionaryWithDictionary:
description: This is a string dictionary
type: object
additionalProperties:
type: object
additionalProperties:
type: string
DictionaryWithProperties:
description: This is a complex dictionary
type: object
additionalProperties:
type: object
properties:
foo:
type: string
bar:
type: string
ModelWithInteger:
description: This is a model with one number property
type: object
properties:
prop:
description: This is a simple number property
type: integer
ModelWithBoolean:
description: This is a model with one boolean property
type: object
properties:
prop:
description: This is a simple boolean property
type: boolean
ModelWithString:
description: This is a model with one string property
type: object
properties:
prop:
description: This is a simple string property
type: string
ModelWithStringError:
description: This is a model with one string property
type: object
properties:
prop:
description: This is a simple string property
type: string
Model-From.Zendesk:
description:
"`Comment` or `VoiceComment`. The JSON object for adding voice
comments to tickets is different. See [Adding voice comments to
tickets](/documentation/ticketing/managing-tickets/adding-voice-comment\
s-to-tickets)"
type: string
ModelWithNullableString:
description: This is a model with one string property
type: object
required:
- nullableRequiredProp1
- nullableRequiredProp2
properties:
nullableProp1:
description: This is a simple string property
type: string
nullable: true
nullableRequiredProp1:
description: This is a simple string property
type: string
nullable: true
nullableProp2:
description: This is a simple string property
nullable: true
type: string
nullableRequiredProp2:
description: This is a simple string property
nullable: true
type: string
foo_bar-enum:
description: This is a simple enum with strings
enum:
- Success
- Warning
- Error
- ØÆÅ字符串
ModelWithEnum:
description: This is a model with one enum
type: object
properties:
foo_bar-enum:
description: This is a simple enum with strings
enum:
- Success
- Warning
- Error
- ØÆÅ字符串
statusCode:
description: These are the HTTP error code enums
enum:
- '100'
- 200 FOO
- 300 FOO_BAR
- 400 foo-bar
- 500 foo.bar
- 600 foo&bar
bool:
description: Simple boolean enum
type: boolean
enum:
- true
ModelWithEnumWithHyphen:
description: This is a model with one enum with escaped name
type: object
properties:
foo-bar-baz-qux:
type: string
enum:
- '3.0'
title: Foo-Bar-Baz-Qux
default: '3.0'
ModelWithEnumFromDescription:
description: This is a model with one enum
type: object
properties:
test:
type: integer
description: Success=1,Warning=2,Error=3
ModelWithNestedEnums:
description: This is a model with nested enums
type: object
properties:
dictionaryWithEnum:
type: object
additionalProperties:
enum:
- Success
- Warning
- Error
dictionaryWithEnumFromDescription:
type: object
additionalProperties:
type: integer
description: Success=1,Warning=2,Error=3
arrayWithEnum:
type: array
items:
enum:
- Success
- Warning
- Error
arrayWithDescription:
type: array
items:
type: integer
description: Success=1,Warning=2,Error=3
foo_bar-enum:
description: This is a simple enum with strings
enum:
- Success
- Warning
- Error
- ØÆÅ字符串
ModelWithReference:
description: This is a model with one property containing a reference
type: object
properties:
prop:
$ref: '#/components/schemas/ModelWithProperties'
ModelWithArrayReadOnlyAndWriteOnly:
description: This is a model with one property containing an array
type: object
properties:
prop:
type: array
items:
$ref: '#/components/schemas/ModelWithReadOnlyAndWriteOnly'
propWithFile:
type: array
items:
format: binary
type: string
propWithNumber:
type: array
items:
type: number
ModelWithArray:
description: This is a model with one property containing an array
type: object
properties:
prop:
type: array
items:
$ref: '#/components/schemas/ModelWithString'
propWithFile:
type: array
items:
format: binary
type: string
propWithNumber:
type: array
items:
type: number
ModelWithDictionary:
description: This is a model with one property containing a dictionary
type: object
properties:
prop:
type: object
additionalProperties:
type: string
DeprecatedModel:
deprecated: true
description: This is a deprecated model with a deprecated property
type: object
properties:
prop:
deprecated: true
description: This is a deprecated property
type: string
ModelWithCircularReference:
description: This is a model with one property containing a circular reference
type: object
properties:
prop:
$ref: '#/components/schemas/ModelWithCircularReference'
CompositionWithOneOf:
description: This is a model with one property with a 'one of' relationship
type: object
properties:
propA:
type: object
oneOf:
- $ref: '#/components/schemas/ModelWithString'
- $ref: '#/components/schemas/ModelWithEnum'
- $ref: '#/components/schemas/ModelWithArray'
- $ref: '#/components/schemas/ModelWithDictionary'
CompositionWithOneOfAnonymous:
description:
This is a model with one property with a 'one of' relationship
where the options are not $ref
type: object
properties:
propA:
type: object
oneOf:
- description: Anonymous object type
type: object
properties:
propA:
type: string
- description: Anonymous string type
type: string
- description: Anonymous integer type
type: integer
ModelCircle:
description: Circle
type: object
required:
- kind
properties:
kind:
type: string
radius:
type: number
ModelSquare:
description: Square
type: object
required:
- kind
properties:
kind:
type: string
sideLength:
type: number
CompositionWithOneOfDiscriminator:
description:
This is a model with one property with a 'one of' relationship
where the options are not $ref
type: object
oneOf:
- $ref: '#/components/schemas/ModelCircle'
- $ref: '#/components/schemas/ModelSquare'
discriminator:
propertyName: kind
mapping:
circle: '#/components/schemas/ModelCircle'
square: '#/components/schemas/ModelSquare'
CompositionWithAnyOf:
description: This is a model with one property with a 'any of' relationship
type: object
properties:
propA:
type: object
anyOf:
- $ref: '#/components/schemas/ModelWithString'
- $ref: '#/components/schemas/ModelWithEnum'
- $ref: '#/components/schemas/ModelWithArray'
- $ref: '#/components/schemas/ModelWithDictionary'
CompositionWithAnyOfAnonymous:
description:
This is a model with one property with a 'any of' relationship
where the options are not $ref
type: object
properties:
propA:
type: object
anyOf:
- description: Anonymous object type
type: object
properties:
propA:
type: string
- description: Anonymous string type
type: string
- description: Anonymous integer type
type: integer
CompositionWithNestedAnyAndTypeNull:
description: This is a model with nested 'any of' property with a type null
type: object
properties:
propA:
type: object
anyOf:
- items:
nullable: true
allOf:
- $ref: '#/components/schemas/ModelWithDictionary'
type: array
- items:
nullable: true
allOf:
- $ref: '#/components/schemas/ModelWithArray'
type: array
3e-num_1Период:
enum:
- Bird
- Dog
type: string
ConstValue:
enum:
- ConstValue
type: string
CompositionWithNestedAnyOfAndNull:
description:
This is a model with one property with a 'any of' relationship
where the options are not $ref
type: object
properties:
propA:
nullable: true
allOf:
- items:
anyOf:
- $ref: '#/components/schemas/3e-num_1Период'
- $ref: '#/components/schemas/ConstValue'
type: array
title: Scopes
CompositionWithOneOfAndNullable:
description: This is a model with one property with a 'one of' relationship
type: object
properties:
propA:
nullable: true
type: object
oneOf:
- type: object
properties:
boolean:
type: boolean
- $ref: '#/components/schemas/ModelWithEnum'
- $ref: '#/components/schemas/ModelWithArray'
- $ref: '#/components/schemas/ModelWithDictionary'
CompositionWithOneOfAndSimpleDictionary:
description: This is a model that contains a simple dictionary within composition
type: object
properties:
propA:
oneOf:
- type: boolean
- type: object
additionalProperties:
type: number
CompositionWithOneOfAndSimpleArrayDictionary:
description:
This is a model that contains a dictionary of simple arrays within
composition
type: object
properties:
propA:
oneOf:
- type: boolean
- type: object
additionalProperties:
type: array
items:
type: boolean
CompositionWithOneOfAndComplexArrayDictionary:
description: This is a model that contains a dictionary of complex arrays
(composited) within composition
type: object
properties:
propA:
oneOf:
- type: boolean
- type: object
additionalProperties:
type: array
items:
oneOf:
- type: number
- type: string
CompositionWithAllOfAndNullable:
description: This is a model with one property with a 'all of' relationship
type: object
properties:
propA:
nullable: true
type: object
allOf:
- type: object
properties:
boolean:
type: boolean
- $ref: '#/components/schemas/ModelWithEnum'
- $ref: '#/components/schemas/ModelWithArray'
- $ref: '#/components/schemas/ModelWithDictionary'
CompositionWithAnyOfAndNullable:
description: This is a model with one property with a 'any of' relationship
type: object
properties:
propA:
nullable: true
type: object
anyOf:
- type: object
properties:
boolean:
type: boolean
- $ref: '#/components/schemas/ModelWithEnum'
- $ref: '#/components/schemas/ModelWithArray'
- $ref: '#/components/schemas/ModelWithDictionary'
CompositionBaseModel:
description: This is a base model with two simple optional properties
type: object
properties:
firstName:
type: string
lastname:
type: string
CompositionExtendedModel:
description: This is a model that extends the base model
type: object
allOf:
- $ref: '#/components/schemas/CompositionBaseModel'
properties:
age:
type: number
required:
- firstName
- lastname
- age
ModelWithProperties:
description: This is a model with one nested property
type: object
required:
- required
- requiredAndReadOnly
- requiredAndNullable
properties:
required:
type: string
requiredAndReadOnly:
type: string
readOnly: true
requiredAndNullable:
type: string
nullable: true
string:
type: string
number:
type: number
boolean:
type: boolean
reference:
$ref: '#/components/schemas/ModelWithString'
property with space:
type: string
default:
type: string
try:
type: string
'@namespace.string':
type: string
readOnly: true
'@namespace.integer':
type: integer
readOnly: true
ModelWithNestedProperties:
description: This is a model with one nested property
type: object
required:
- first
properties:
first:
type: object
required:
- second
readOnly: true
nullable: true
properties:
second:
type: object
required:
- third
readOnly: true
nullable: true
properties:
third:
type: string
required: true
readOnly: true
nullable: true
ModelWithDuplicateProperties:
description: This is a model with duplicated properties
type: object
properties:
prop:
$ref: '#/components/schemas/ModelWithString'
ModelWithOrderedProperties:
description: This is a model with ordered properties
type: object
properties:
zebra:
type: string
apple:
type: string
hawaii:
type: string
ModelWithDuplicateImports:
description: This is a model with duplicated imports
type: object
properties:
propA:
$ref: '#/components/schemas/ModelWithString'
propB:
$ref: '#/components/schemas/ModelWithString'
propC:
$ref: '#/components/schemas/ModelWithString'
ModelThatExtends:
description: This is a model that extends another model
type: object
allOf:
- $ref: '#/components/schemas/ModelWithString'
- type: object
properties:
propExtendsA:
type: string
propExtendsB:
$ref: '#/components/schemas/ModelWithString'
ModelThatExtendsExtends:
description: This is a model that extends another model
type: object
allOf:
- $ref: '#/components/schemas/ModelWithString'
- $ref: '#/components/schemas/ModelThatExtends'
- type: object
properties:
propExtendsC:
type: string
propExtendsD:
$ref: '#/components/schemas/ModelWithString'
ModelWithPattern:
description: This is a model that contains a some patterns
type: object
required:
- key
- name
properties:
key:
maxLength: 64
pattern: ^[a-zA-Z0-9_]*$
type: string
name:
maxLength: 255
type: string
enabled:
type: boolean
readOnly: true
modified:
type: string
format: date-time
readOnly: true
id:
type: string
pattern: ^\d{2}-\d{3}-\d{4}$
text:
type: string
pattern: ^\w+$
patternWithSingleQuotes:
type: string
pattern: ^[a-zA-Z0-9']*$
patternWithNewline:
type: string
pattern: aaa\nbbb
patternWithBacktick:
type: string
pattern: aaa`bbb
File:
required:
- mime
type: object
properties:
id:
title: Id
type: string
readOnly: true
minLength: 1
updated_at:
title: Updated at
type: string
format: date-time
readOnly: true
created_at:
title: Created at
type: string
format: date-time
readOnly: true
mime:
title: Mime
type: string
maxLength: 24
minLength: 1
file:
title: File
type: string
readOnly: true
format: uri
default:
type: object
properties:
name:
type: string
Pageable:
type: object
properties:
page:
minimum: 0
type: integer
format: int32
default: 0
size:
minimum: 1
type: integer
format: int32
sort:
type: array
items:
type: string
FreeFormObjectWithoutAdditionalProperties:
description: This is a free-form object without additionalProperties.
type: object
FreeFormObjectWithAdditionalPropertiesEqTrue:
description: 'This is a free-form object with additionalProperties: true.'
type: object
additionalProperties: true
FreeFormObjectWithAdditionalPropertiesEqEmptyObject:
description: 'This is a free-form object with additionalProperties: {}.'
type: object
additionalProperties: {}
ModelWithConst:
type: object
properties:
String:
enum:
- String
type: string
number:
enum:
- 0
type: number
'null':
nullable: true
withType:
enum:
- Some string
type: string
ModelWithAdditionalPropertiesEqTrue:
description: 'This is a model with one property and additionalProperties: true'
type: object
properties:
prop:
description: This is a simple string property
type: string
additionalProperties: true
NestedAnyOfArraysNullable:
properties:
nullableArray:
nullable: true
allOf:
- items:
anyOf:
- type: string
- type: boolean
type: array
type: object
CompositionWithOneOfAndProperties:
type: object
oneOf:
- type: object
required:
- foo
properties:
foo:
$ref: '#/components/parameters/SimpleParameter'
additionalProperties: false
- type: object
required:
- bar
properties:
bar:
$ref: '#/components/schemas/NonAsciiStringæøåÆØÅöôêÊ字符串'
additionalProperties: false
required:
- baz
- qux
properties:
baz:
type: integer
format: uint16
minimum: 0
nullable: true
qux:
type: integer
format: uint8
minimum: 0
NullableObject:
description: An object that can be null
nullable: true
type: object
properties:
foo:
type: string
default: null
CharactersInDescription:
type: string
description: Some % character
ModelWithNullableObject:
type: object
properties:
data:
$ref: '#/components/schemas/NullableObject'
ModelWithOneOfEnum:
oneOf:
- type: object
required:
- foo
properties:
foo:
type: string
enum:
- Bar
- type: object
required:
- foo
properties:
foo:
type: string
enum:
- Baz
- type: object
required:
- foo
properties:
foo:
type: string
enum:
- Qux
- type: object
required:
- content
- foo
properties:
content:
type: string
format: date-time
foo:
type: string
enum:
- Quux
- type: object
required:
- content
- foo
properties:
content:
type: array
items:
type: string
format: date-time
maxItems: 2
minItems: 2
foo:
type: string
enum:
- Corge
ModelWithNestedArrayEnumsDataFoo:
enum:
- foo
- bar
type: string
ModelWithNestedArrayEnumsDataBar:
enum:
- baz
- qux
type: string
ModelWithNestedArrayEnumsData:
type: object
properties:
foo:
type: array
items:
$ref: '#/components/schemas/ModelWithNestedArrayEnumsDataFoo'
bar:
type: array
items:
$ref: '#/components/schemas/ModelWithNestedArrayEnumsDataBar'
ModelWithNestedArrayEnums:
type: object
properties:
array_strings:
type: array
items:
type: string
data:
allOf:
- $ref: '#/components/schemas/ModelWithNestedArrayEnumsData'
ModelWithNestedCompositionEnums:
type: object
properties:
foo:
allOf:
- $ref: '#/components/schemas/ModelWithNestedArrayEnumsDataFoo'
ModelWithReadOnlyAndWriteOnly:
type: object
required:
- foo
- bar
- baz
properties:
foo:
type: string
bar:
readOnly: true
type: string
baz:
type: string
writeOnly: true
ModelWithConstantSizeArray:
type: array
items:
type: number
minItems: 2
maxItems: 2
ModelWithAnyOfConstantSizeArray:
type: array
items:
oneOf:
- type: number
- type: string
minItems: 3
maxItems: 3
ModelWithPrefixItemsConstantSizeArray:
type: array
items:
oneOf:
- $ref: '#/components/schemas/ModelWithInteger'
- type: number
- type: string
ModelWithAnyOfConstantSizeArrayNullable:
type: array
items:
oneOf:
- type: number
nullable: true
- type: string
minItems: 3
maxItems: 3
ModelWithAnyOfConstantSizeArrayWithNSizeAndOptions:
type: array
items:
oneOf:
- type: number
- $ref: '#/components/schemas/import'
minItems: 2
maxItems: 2
ModelWithAnyOfConstantSizeArrayAndIntersect:
type: array
items:
allOf:
- type: number
- type: string
minItems: 2
maxItems: 2
ModelWithNumericEnumUnion:
type: object
properties:
value:
type: number
description: Период
enum:
- -10
- -1
- 0
- 1
- 3
- 6
- 12
ModelWithBackticksInDescription:
description: Some description with `back ticks`
type: object
properties:
template:
type: string
description: >-
The template `that` should be used for parsing and importing the
contents of the CSV file.
There is one placeholder currently supported:
Example of a correct JSON template:
[
{
"resourceType": "Asset",
"identifier": {
"name": "${1}",
"domain": {
"name": "${2}",
"community": {
"name": "Some Community"
}
}
},
"attributes" : {
"00000000-0000-0000-0000-000000003115" : [ {
"value" : "${3}"
} ],
"00000000-0000-0000-0000-000000000222" : [ {
"value" : "${4}"
} ]
}
}
]
ModelWithOneOfAndProperties:
type: object
oneOf:
- $ref: '#/components/parameters/SimpleParameter'
- $ref: '#/components/schemas/NonAsciiStringæøåÆØÅöôêÊ字符串'
required:
- baz
- qux
properties:
baz:
type: integer
format: uint16
minimum: 0
nullable: true
qux:
type: integer
format: uint8
minimum: 0
ParameterSimpleParameterUnused:
description: Model used to test deduplication strategy (unused)
type: string
PostServiceWithEmptyTagResponse:
description: Model used to test deduplication strategy
type: string
PostServiceWithEmptyTagResponse2:
description: Model used to test deduplication strategy
type: string
DeleteFooData:
description: Model used to test deduplication strategy
type: string
DeleteFooData2:
description: Model used to test deduplication strategy
type: string
import:
description: Model with restricted keyword name
type: string
SchemaWithFormRestrictedKeys:
properties:
description:
type: string
x-enum-descriptions:
type: string
x-enum-varnames:
type: string
x-enumNames:
type: string
title:
type: string
object:
type: object
properties:
description:
type: string
x-enum-descriptions:
type: string
x-enum-varnames:
type: string
x-enumNames:
type: string
title:
type: string
array:
type: array
items:
type: object
properties:
description:
type: string
x-enum-descriptions:
type: string
x-enum-varnames:
type: string
x-enumNames:
type: string
title:
type: string
io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions:
description: This schema was giving PascalCase transformations a hard time
properties:
preconditions:
allOf:
- $ref: '#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions'
description:
Must be fulfilled before a deletion is carried out. If not
possible, a 409 Conflict status will be returned.
type: object
io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions:
description: This schema was giving PascalCase transformations a hard time
properties:
resourceVersion:
description: Specifies the target ResourceVersion
type: string
uid:
description: Specifies the target UID.
type: string
type: object
AdditionalPropertiesUnknownIssue:
type: object
properties: {}
additionalProperties:
anyOf:
- type: string
- type: number
AdditionalPropertiesUnknownIssue2:
type: object
additionalProperties:
anyOf:
- type: string
- type: number
AdditionalPropertiesUnknownIssue3:
type: object
allOf:
- type: string
- type: object
required:
- entries
properties:
entries:
type: object
additionalProperties:
$ref: '#/components/schemas/AdditionalPropertiesUnknownIssue'
AdditionalPropertiesIntegerIssue:
type: object
required:
- value
properties:
value:
type: integer
additionalProperties:
type: integer
OneOfAllOfIssue:
oneOf:
- allOf:
- oneOf:
- $ref: '#/components/schemas/ConstValue'
- $ref: '#/components/schemas/Generic.Schema.Duplicate.Issue`1[System.Boolean]'
- $ref: '#/components/schemas/3e-num_1Период'
- $ref: '#/components/schemas/Generic.Schema.Duplicate.Issue`1[System.String]'
Generic.Schema.Duplicate.Issue`1[System.Boolean]:
type: object
properties:
item:
type: boolean
error:
type: string
nullable: true
hasError:
type: boolean
readOnly: true
data:
type: object
properties: {}
additionalProperties: false
additionalProperties: false
Generic.Schema.Duplicate.Issue`1[System.String]:
type: object
properties:
item:
type: string
nullable: true
error:
type: string
nullable: true
hasError:
type: boolean
readOnly: true
additionalProperties: false