UNPKG

ibm-openapi-validator

Version:

Configurable and extensible validator/linter for OpenAPI documents

230 lines (229 loc) 5.91 kB
openapi: "3.1.0" info: description: Sample API definition that validates cleanly version: 1.0.0 title: Swagger Petstore license: name: MIT url: "http://www.apache.org/licenses/LICENSE-2.0.html" contact: email: "apiteam@swagger.io" servers: - url: http://petstore.swagger.io/v1 tags: - name: pets description: A pet paths: /pets: get: summary: List all pets description: List all pets operationId: list_pets tags: - pets parameters: - name: limit in: query description: How many items to return at one time (max 100) required: false schema: type: integer format: int32 default: 10 minimum: 0 maximum: 100 - name: start in: query description: A token which indicates the first item to return required: false schema: type: string pattern: '^[a-zA-Z0-9 ]+$' minLength: 1 maxLength: 128 responses: '200': description: A paged array of pets headers: x-next: schema: type: string description: A link to the next page of responses pattern: '^[a-zA-Z0-9]+$' minLength: 1 maxLength: 128 content: application/json: schema: $ref: "#/components/schemas/PetCollection" default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" post: summary: Create a pet description: Create a pet operationId: create_pet tags: - pets responses: '201': description: success! content: application/json: schema: $ref: "#/components/schemas/Pet" default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" /pets/{pet_id}: get: summary: Info for a specific pet description: Get information about a specific pet operationId: get_pet tags: - pets parameters: - name: pet_id in: path required: true description: The id of the pet to retrieve schema: type: string pattern: '^[0-9]+$' minLength: 1 maxLength: 100 responses: '200': description: Expected response to a valid request content: application/json: schema: $ref: "#/components/schemas/Pet" default: description: unexpected error content: application/json: schema: $ref: "#/components/schemas/Error" components: schemas: Pet: type: object description: A pet required: - id - name properties: id: type: integer format: int64 minimum: 0 maximum: 1024 description: "id property" name: type: string description: "name property" pattern: '^[a-zA-Z0-9]+$' minLength: 1 maxLength: 50 tag: type: string description: "tag property" pattern: '^[a-zA-Z0-9]+$' minLength: 1 maxLength: 50 example: id: 1 name: doggie tag: dog PetCollection: type: object description: A list of pets required: - pets - limit properties: pets: type: array minItems: 0 maxItems: 20 description: "object containing a list of pets" items: $ref: "#/components/schemas/Pet" limit: type: integer format: int32 minimum: 0 maximum: 100 description: limit next_token: type: string description: next token pattern: '^[a-zA-Z0-9_]+$' minLength: 1 maxLength: 128 first: allOf: - $ref: '#/components/schemas/PageLink' - description: Link to the first page of results last: allOf: - $ref: '#/components/schemas/PageLink' - description: Link to the last page of results previous: allOf: - $ref: '#/components/schemas/PageLink' - description: Link to the previous page of results next: allOf: - $ref: '#/components/schemas/PageLink' - description: Link to the next page of results example: pets: - id: 1 name: doggie tag: dog next_url: 'https://www.nexturl.com' limit: 50 next_token: TOKEN_STRING PageLink: type: object description: Link to a page of results properties: href: description: Request URL string type: string pattern: '^[a-zA-Z0-9]+$' minLength: 1 maxLength: 128 Error: type: object description: An error in processing a service request required: - code - message properties: code: type: integer format: int32 minimum: 0 maximum: 599 description: "code property" message: type: string description: "message property" pattern: '^[a-zA-Z0-9_ ]*$' minLength: 1 maxLength: 300 example: code: 123 message: "error occurred"