@readme/oas-examples
Version:
A collection of example OpenAPI 3.x and Swagger 2.0 documents.
349 lines (348 loc) • 8.8 kB
YAML
openapi: 3.0.3
info:
title: Request Schema Validation
description: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#path-item-object
version: 1.0.0
servers:
- url: https://httpbin.org
paths:
'/anything/numbers':
parameters:
- in: query
name: id-required
schema:
type: number
minimum: 10
maximum: 20
multipleOf: 2
default: 12
example: 14
required: true
- in: query
name: id-optional
schema:
type: number
minimum: 10
maximum: 20
multipleOf: 2
default: 12
example: 14
required: false
- in: query
name: id-exclusive-required
schema:
type: number
minimum: 10
maximum: 20
exclusiveMinimum: true
exclusiveMaximum: true
multipleOf: 2
default: 12
example: 14
required: true
- in: query
name: id-exclusive-optional
schema:
type: number
minimum: 10
maximum: 20
exclusiveMinimum: true
exclusiveMaximum: true
multipleOf: 2
default: 12
example: 14
required: false
get:
summary: Number validation
responses:
'200':
description: OK
'/anything/strings':
parameters:
- in: query
name: name-length-required
schema:
type: string
minLength: 10
maxLength: 20
default: this is a default
example: this is an example
required: true
- in: query
name: name-length-optional
schema:
type: string
minLength: 10
maxLength: 20
default: this is a default
example: this is an example
required: false
- in: query
name: name-pattern-required
schema:
type: string
pattern: a\w+b
default: aDEFAULTb
example: aEXAMPLEb
required: true
- in: query
name: complex-pattern-required
description: "OpenAPI 3.0.3, which defaults to JSON Schema v4, does not provide
the unicode flag to the input tooltip regex validation. This means that the
following regex should work. It won't work if unicode is enabled because
it has unescaped brace literals "
schema:
type: string
pattern: '^(?:{[0-9a-fA-F]{4}(?:-?[0-9a-fA-F]{4}){7}}|[0-9a-fA-F]{4}(?:-?[0-9a-fA-F]{4}){7})$'
required: true
- in: query
name: name-pattern-optional
schema:
type: string
pattern: a\w+b
default: aDEFAULTb
example: aEXAMPLEb
required: false
get:
summary: String validation
responses:
'200':
description: OK
'/anything/jsonschema-formats':
parameters:
- in: query
name: date-time
schema:
type: string
format: date-time
default: '1985-04-12T23:20:50.52Z'
example: '1996-12-19T16:39:57-08:00'
required: true
- in: query
name: date
schema:
type: string
format: date
default: '1985-04-12'
example: '1996-12-19'
required: false
- in: query
name: time
schema:
type: string
format: time
default: '23:20:50.52'
example: 16:39:57-08:00
required: false
- in: query
name: duration
schema:
type: string
format: duration
default: TBD
example: TBD
required: false
- in: query
name: email
schema:
type: string
format: email
default: default@readme.io
example: example@readme.io
required: false
- in: query
name: idn-email
schema:
type: string
format: idn-email
default: 用户@例子.广告
example: अजय@डाटा.भारत
required: false
- in: query
name: hostname
schema:
type: string
format: hostname
default: readme.io
example: readme.com
required: false
- in: query
name: idn-hostname
schema:
type: string
format: idn-hostname
default: Bücher.example
example: Bücher.example
required: false
- in: query
name: ipv4
schema:
type: string
format: ipv4
default: 127.0.0.1
example: 127.0.0.1
required: false
- in: query
name: ipv6
schema:
type: string
format: ipv6
default: 0:0:0:0:0:0:0:1
example: 0:0:0:0:0:0:0:1
required: false
- in: query
name: uri
schema:
type: string
format: uri
default: http://www.ietf.org/rfc/rfc2396.txt
example: mailto:John.Doe@example.com
required: false
- in: query
name: uri-reference
schema:
type: string
format: uri-reference
default: '/default'
example: '/example'
required: false
- in: query
name: iri
schema:
type: string
format: iri
default: https://en.wiktionary.org/wiki/Ῥόδος
example: https://en.wiktionary.org/wiki/ῥόδον
required: false
- in: query
name: iri-reference
schema:
type: string
format: iri-reference
default: '/wiki/Ῥόδος'
example: '/wiki/ῥόδον'
required: false
- in: query
name: uuid
schema:
type: string
format: uuid
default: 123e4567-e89b-12d3-a456-426614174000
example: 123e4567-e89b-12d3-a456-426652340000
required: false
- in: query
name: uri-template
schema:
type: string
format: uri-template
default: http://example.com/search{?q,lang}
example: http://example.com/dictionary/{term:1}/{term}
required: false
- in: query
name: json-pointer
schema:
type: string
format: json-pointer
default: '#/foo'
example: '#/a~1b'
required: false
- in: query
name: relative-json-pointer
schema:
type: string
format: relative-json-pointer
default: 1/nested/objects
example: 2/foo/0
required: false
- in: query
name: regex
schema:
type: string
format: regex
default: '/default/'
example: '/[Ee]xample/'
required: false
get:
summary: Formats defined by JSON Schema
responses:
'200':
description: OK
'/anything/oas-formats':
parameters:
- in: query
name: int32
schema:
type: integer
format: int32
default: '12345'
example: '23456'
required: true
- in: query
name: int64
schema:
type: integer
format: int64
default: '3000000000'
example: '4000000000'
required: false
- in: query
name: float
schema:
type: number
format: float
default: '1.0'
example: '2.0'
required: false
- in: query
name: double
schema:
type: number
format: double
default: '3000000000.0'
example: '4000000000.0'
required: false
- in: query
name: byte
schema:
type: string
format: byte
required: false
- in: query
name: binary
schema:
type: string
format: binary
required: false
- in: query
name: password
schema:
type: string
format: password
example: '******'
required: false
get:
summary: Formats defined by OpenAPI
responses:
'200':
description: OK
'/anything/booleans':
parameters:
- in: query
name: tf-required
schema:
type: boolean
default: true
example: false
required: true
- in: query
name: tf-optional
schema:
type: boolean
default: true
example: false
required: false
get:
summary: Booleans
responses:
'200':
description: OK