UNPKG

ibm-openapi-validator

Version:

Configurable and extensible validator/linter for OpenAPI documents

311 lines (310 loc) 10.8 kB
{ "openapi": "3.1.0", "info": { "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", "version": "1.0.0", "title": "Swagger Petstore", "termsOfService": "http://swagger.io/terms/", "contact": { "email": "apiteam@swagger.io" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" } }, "tags": [ { "name": "pet", "description": "Everything about your Pets", "externalDocs": { "description": "Find out more", "url": "http://swagger.io" } }, { "name": "store", "description": "Access to Petstore orders" }, { "name": "user", "description": "Operations about user", "externalDocs": { "description": "Find out more about our store", "url": "http://swagger.io" } } ], "paths": { "/pet": { "post": { "tags": [ "pet" ], "summary": "Add a new pet to the store", "description": "post a pet to store", "operationId": " ", "requestBody": { "$ref": "#/components/requestBodies/Pet" }, "x-codegen-request-body-name": "body", "responses": { "405": { "description": "Invalid input" } }, "security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ] }, "put": { "tags": [ "pet" ], "summary": "Update an existing pet", "description": "put new data for existing pet", "operationId": "update_pet", "requestBody": { "$ref": "#/components/requestBodies/Pet" }, "x-codegen-request-body-name": "body", "responses": { "400": { "description": "Invalid ID supplied" }, "404": { "description": "Pet not found" }, "405": { "description": "Validation exception" } }, "security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ] } }, "/pet/find_by_status": { "get": { "tags": [ "pet" ], "summary": "Finds Pets by status", "description": "Multiple status values can be provided with comma separated strings", "operationId": "find_pets_by_status", "parameters": [ { "name": "status", "in": "query", "description": "Status values that need to be considered for filter", "required": true, "explode": true, "schema": { "type": "array", "items": { "type": "string", "enum": [ "available", "pending", "sold" ], "default": "available" } } } ], "responses": { "200": { "description": "successful operation", "content": { "application/xml": { "schema": { "type": "object", "properties": { "pets": { "type": "array", "description": "list of pets", "items": { "$ref": "#/components/schemas/Pet" } } } } }, "application/json": { "schema": { "type": "object", "properties": { "pets": { "type": "array", "description": "list of pets", "items": { "$ref": "#/components/schemas/Pet" } } } } } } }, "400": { "description": "Invalid status value" } }, "security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ] } } }, "externalDocs": { "description": "Find out more about Swagger", "url": "http://swagger.io" }, "servers": [ { "url": "http://petstore.swagger.io/v2" } ], "components": { "requestBodies": { "Pet": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pet" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } } }, "description": "Pet object that needs to be added to the store", "required": true } }, "securitySchemes": { "petstore_auth": { "type": "oauth2", "flows": { "implicit": { "authorizationUrl": "http://petstore.swagger.io/oauth/dialog", "scopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } } } } }, "schemas": { "Category": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "string" }, "name": { "type": "string", "description": "string" } }, "xml": { "name": "Category" } }, "Tag": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "string" }, "name": { "type": "string", "description": "string" } }, "xml": { "name": "Tag" } }, "Pet": { "type": "object", "required": [ "name", "photo_urls" ], "properties": { "id": { "type": "integer", "format": "int64", "description": "" }, "category": { "$ref": "#/components/schemas/Category" }, "name": { "type": "string", "example": "doggie", "description": "" }, "photo_urls": { "type": "array", "description": "", "xml": { "name": "photo_url", "wrapped": true }, "items": { "type": "string" } }, "tags": { "type": "array", "description": "", "xml": { "name": "tag", "wrapped": true }, "items": { "$ref": "#/components/schemas/Tag" } }, "status": { "type": "string", "description": "", "enum": [ "available", "pending", "sold" ] } }, "xml": { "name": "Pet" } } } } }