@readme/oas-examples
Version:
A collection of example OpenAPI 3.x and Swagger 2.0 documents.
350 lines (349 loc) • 9.75 kB
YAML
openapi: 3.0.3
info:
title: Circular reference examples
version: 1.0.0
servers:
- url: https://httpbin.org/
paths:
'/nestedTest':
put:
requestBody:
content:
application/json:
schema:
type: object
properties:
foo:
type: string
arr:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: string
obj:
type: object
properties:
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff:
type: object
properties:
fooa:
type: object
properties:
'foob:':
type: object
properties:
fooc:
type: string
responses:
'200':
description: OK
'/circular':
put:
parameters:
- name: Authorization
in: header
description: API key.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
'$ref': '#/components/schemas/FormDataBodyPart'
typename:
type: string
responses:
'200':
description: Successfully processed.
'400':
description: Invalid payload. This can be due to invalid headers or form-data
params.
'401':
description: Permissions error. The Authorization header may be missing,
the value may be invalid or the associated organization/user does not
have permission to modify the specified typename.
'500':
description: Server error. Something unexpected happened while processing
the request. Try again later.
'/not-quite-circular':
post:
description: This is a schema that is technically circular, but not in a way
that will cause infinite recursion when processing it.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
rules:
'$ref': '#/components/schemas/ZoneRules'
responses:
'200':
description: successful operation
components:
schemas:
BodyPart:
type: object
properties:
contentDisposition:
'$ref': '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
properties:
empty:
type: boolean
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
'$ref': '#/components/schemas/MessageBodyWorkers'
parent:
'$ref': '#/components/schemas/MultiPart'
providers:
type: object
parameterizedHeaders:
type: object
properties:
empty:
type: boolean
additionalProperties:
type: array
items:
'$ref': '#/components/schemas/ParameterizedHeader'
ContentDisposition:
type: object
properties:
type:
type: string
parameters:
type: object
additionalProperties:
type: string
fileName:
type: string
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
readDate:
type: string
format: date-time
size:
type: integer
format: int64
FormDataBodyPart:
type: object
properties:
contentDisposition:
'$ref': '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
properties:
empty:
type: boolean
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
'$ref': '#/components/schemas/MessageBodyWorkers'
parent:
'$ref': '#/components/schemas/MultiPart'
providers:
type: object
name:
type: string
value:
type: string
formDataContentDisposition:
'$ref': '#/components/schemas/FormDataContentDisposition'
simple:
type: boolean
parameterizedHeaders:
type: object
properties:
empty:
type: boolean
additionalProperties:
type: array
items:
'$ref': '#/components/schemas/ParameterizedHeader'
description: A single file which will be added/updated or a ZIP archive containing
files that will be added/updated. The name of the ZIP archive does not matter
but the names of the files contained within do.
example: file=@2018-report.pdf
FormDataContentDisposition:
type: object
properties:
type:
type: string
parameters:
type: object
additionalProperties:
type: string
fileName:
type: string
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
readDate:
type: string
format: date-time
size:
type: integer
format: int64
name:
type: string
MessageBodyWorkers:
type: object
MultiPart:
type: object
properties:
contentDisposition:
'$ref': '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
properties:
empty:
type: boolean
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
'$ref': '#/components/schemas/MessageBodyWorkers'
parent:
'$ref': '#/components/schemas/MultiPart'
providers:
type: object
bodyParts:
type: array
items:
'$ref': '#/components/schemas/BodyPart'
parameterizedHeaders:
type: object
properties:
empty:
type: boolean
additionalProperties:
type: array
items:
'$ref': '#/components/schemas/ParameterizedHeader'
ParameterizedHeader:
type: object
properties:
value:
type: string
parameters:
type: object
additionalProperties:
type: string
ZoneId:
type: object
properties:
rules:
'$ref': '#/components/schemas/ZoneRules'
ZoneOffset:
type: object
properties:
id:
type: string
rules:
'$ref': '#/components/schemas/ZoneRules'
ZoneOffsetTransition:
type: object
properties:
offsetBefore:
'$ref': '#/components/schemas/ZoneOffset'
offsetAfter:
'$ref': '#/components/schemas/ZoneOffset'
dateTimeAfter:
type: string
format: date-time
dateTimeBefore:
type: string
format: date-time
ZoneRules:
type: object
properties:
transitions:
type: array
items:
'$ref': '#/components/schemas/ZoneOffsetTransition'