UNPKG

@readme/oas-examples

Version:

A collection of example OpenAPI 3.x and Swagger 2.0 documents.

489 lines (488 loc) 12.3 kB
{ "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" } } } } } }