@readme/oas-examples
Version:
A collection of example OpenAPI 3.x and Swagger 2.0 documents.
489 lines (488 loc) • 12.3 kB
JSON
{
"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"
}
}
}
}
}
}