{
  "openapi": "3.1.0",
  "info": {
    "title": "Petstore",
    "version": "1.0.17",
    "description": "This is a sample Pet Store Server specification used to illustrate the documentation and sdk publication features of the Waylay service catalog."
  },
  "servers": [
    {
      "url": "https://api.waylay.io",
      "description": "Waylay enterprise gateway"
    }
  ],
  "externalDocs": {
    "url": "https://docs.waylay.io/#/api/",
    "description": "Waylay Documentation"
  },
  "tags": [
    {
      "name": "pets",
      "description": "Everything about your Pets.",
      "externalDocs": {
        "description": "Find out more",
        "url": "https://docs.waylay.io"
      }
    },
    {
      "name": "store",
      "description": "Access to Petstore orders.",
      "externalDocs": {
        "description": "Find out more about our store",
        "url": "https://docs.waylay.io"
      }
    },
    {
      "name": "users",
      "description": "Operations about user."
    }
  ],
  "paths": {
    "/petstore/v1/": {
      "get": {
        "summary": "Show About",
        "description": "Get Petstore service information.",
        "operationId": "about",
        "responses": {
          "200": {
            "description": "Service Information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AboutResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet": {
      "put": {
        "tags": [
          "pets"
        ],
        "summary": "Update Pet",
        "description": "Update an existing pet.",
        "operationId": "update_pets",
        "requestBody": {
          "description": "Pet Instance",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Pet"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pet"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Id Supplied"
          },
          "404": {
            "description": "Pet Not Found"
          },
          "405": {
            "description": "Validation Exception"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "post": {
        "tags": [
          "pets"
        ],
        "summary": "Add Pet",
        "description": "Add a new pet to the store.",
        "operationId": "add_pets",
        "requestBody": {
          "description": "Pet Instance",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Pet"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pet"
                }
              }
            }
          },
          "405": {
            "description": "Invalid Input"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet/findByTags": {
      "get": {
        "tags": [
          "pets"
        ],
        "summary": "Find Pets By Tags",
        "description": "Find pets by tags.\n\n#### visibility\nThis definition has visibility status `beta`.\n",
        "x-visibility": "beta",
        "x-select-path": "entities.pets",
        "operationId": "findByTags_pets",
        "parameters": [
          {
            "name": "tags",
            "in": "query",
            "description": "Tags to filter by",
            "required": true,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "some-tag",
              "some-other-tag"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PetEntities"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Tag Value"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "delete": {
        "tags": [
          "pets"
        ],
        "summary": "Delete Pets By Tags",
        "description": "Delete pets by tags.\n\n#### visibility\nThis definition has visibility status `beta`.\n",
        "x-visibility": "beta",
        "x-select-path": "entities.pets[*].name",
        "operationId": "deleteByTags_pets",
        "parameters": [
          {
            "name": "tags",
            "in": "query",
            "description": "Tags to filter by",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "string"
              }
            },
            "example": [
              "some-tag",
              "some-other-tag"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PetEntities"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Tag Value"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet/{petId}": {
      "get": {
        "tags": [
          "pets"
        ],
        "summary": "Find Pet",
        "description": "Find a pet by id.",
        "operationId": "get_pets",
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "description": "ID of pet to return",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 123456
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pet"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Id Supplied"
          },
          "404": {
            "description": "Pet Not Found"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "post": {
        "tags": [
          "pets"
        ],
        "summary": "Update Pet",
        "description": "Update a pet in the store with form data.",
        "operationId": "updateById_pets",
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "description": "ID of pet that needs to be updated",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 123456
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of pet that needs to be updated",
            "schema": {
              "type": "string"
            },
            "example": "fido"
          }
        ],
        "responses": {
          "405": {
            "description": "Invalid Input"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "delete": {
        "tags": [
          "pets"
        ],
        "summary": "Delete Pet",
        "description": "Delete a pet.",
        "operationId": "delete_pets",
        "parameters": [
          {
            "name": "api_key",
            "in": "header",
            "description": "",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "petId",
            "in": "path",
            "description": "Pet id to delete",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 987654
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid Pet Value"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet/{petId}/uploadImage": {
      "post": {
        "tags": [
          "pets"
        ],
        "summary": "Upload Image",
        "description": "Upload an image.",
        "operationId": "uploadImage_pets",
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "description": "ID of pet to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 987654
          },
          {
            "name": "additionalMetadata",
            "in": "query",
            "description": "Additional metadata",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "metadata_string"
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "description": "A single image upload.",
                "type": "string",
                "format": "binary"
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "image": {
                    "description": "An image file.",
                    "type": "string",
                    "format": "binary"
                  },
                  "comment": {
                    "description": "Additional comment on the images.",
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "image": {
                  "contentType": "image/png, image/jpeg"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageUploadResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet/{petId}/images/{imageName}": {
      "put": {
        "tags": [
          "pets"
        ],
        "summary": "Replace Image",
        "description": "Replace an image.",
        "operationId": "replaceImage_pets",
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "description": "ID of pet to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 987654
          },
          {
            "name": "imageName",
            "in": "path",
            "description": "Name of the image",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "front.png"
          }
        ],
        "requestBody": {
          "content": {
            "image/*": {
              "schema": {
                "description": "A single image upload.",
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageUploadResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet/{petId}/uploadImages": {
      "post": {
        "tags": [
          "pets"
        ],
        "summary": "Upload Images",
        "description": "Upload one or more images.",
        "operationId": "uploadImages_pets",
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "description": "ID of pet to update",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 987654
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "images": {
                    "description": "Multiple images",
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  },
                  "comment": {
                    "description": "Additional comment on the images.",
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "images": {
                  "contentType": "image/png, image/jpeg"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageUploadResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/pet/{petId}/feedback": {
      "post": {
        "tags": [
          "pets"
        ],
        "summary": "Submit Feedback",
        "description": "Upload a feedback form (url-encoded).",
        "operationId": "feedback_pets",
        "parameters": [
          {
            "name": "petId",
            "in": "path",
            "description": "ID of pet to evaluate.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 987654
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/PetRatingForm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Feedback Submitted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PetRatingForm"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/store/inventory": {
      "get": {
        "tags": [
          "store"
        ],
        "summary": "Get Pet Inventories",
        "description": "Get pet inventories by status.",
        "operationId": "getInventory_store",
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/store/order": {
      "post": {
        "tags": [
          "store"
        ],
        "summary": "Place Order",
        "description": "Place a new order in the store.",
        "operationId": "placeOrder_store",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Order"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "405": {
            "description": "Invalid Input"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/store/order/{orderId}": {
      "get": {
        "tags": [
          "store"
        ],
        "summary": "Get Purchase Order",
        "description": "Find purchase order by id.",
        "operationId": "getOrder_store",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of order that needs to be fetched",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 456789
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Id Supplied"
          },
          "404": {
            "description": "Order Not Found"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "delete": {
        "tags": [
          "store"
        ],
        "summary": "Delete Purchase Order By Id",
        "description": "Delete purchase order by id.",
        "operationId": "deleteOrder_store",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of the order that needs to be deleted",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "example": 456789
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid Id Supplied"
          },
          "404": {
            "description": "Order Not Found"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/store/events": {
      "get": {
        "tags": [
          "store"
        ],
        "summary": "List Order Events",
        "description": "List order events of the store.",
        "operationId": "events_store",
        "responses": {
          "200": {
            "description": "Order Event Stream",
            "content": {
              "application/x-ndjson": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              },
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/user": {
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Create User",
        "description": "Create a user.",
        "operationId": "create_users",
        "requestBody": {
          "description": "Created user object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/user/createWithList": {
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Create Multiple Users",
        "description": "Create list of users.\n\n#### visibility\nThis definition has visibility status `deprecated`.\n",
        "x-visibility": "deprecated",
        "operationId": "createFromList_users",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "default": {
            "description": "Successful Operation"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/user/login": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Login",
        "description": "Log a user into the system.",
        "operationId": "login_users",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "description": "The user name for login",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "john"
          },
          {
            "name": "password",
            "in": "query",
            "description": "The password for login in clear text",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "**pwd**"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Operation",
            "headers": {
              "X-Rate-Limit": {
                "description": "calls per hour allowed by the user",
                "schema": {
                  "type": "integer",
                  "format": "int32"
                },
                "example": 10
              },
              "X-Expires-After": {
                "description": "date in UTC when token expires",
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                },
                "example": "User logged in"
              }
            }
          },
          "400": {
            "description": "Invalid Username/password Supplied"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/user/logout": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Logout",
        "description": "Log out the current logged in user session.",
        "operationId": "logout_users",
        "responses": {
          "default": {
            "description": "Successful Operation"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/user/{username}": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Get User",
        "description": "Get a user by user name.",
        "operationId": "getByName_users",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The name that needs to be fetched",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Simon"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "400": {
            "description": "Invalid Username Supplied"
          },
          "404": {
            "description": "User Not Found"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "put": {
        "tags": [
          "users"
        ],
        "summary": "Update User",
        "description": "Update a user.",
        "operationId": "update_users",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "name that need to be deleted",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Simon"
          }
        ],
        "requestBody": {
          "description": "Update an existent user in the store",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        },
        "responses": {
          "default": {
            "description": "Successful Operation"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "delete": {
        "tags": [
          "users"
        ],
        "summary": "Delete User",
        "description": "Delete a user.",
        "operationId": "delete_users",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The name that needs to be deleted",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "Simon"
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid Username Supplied"
          },
          "404": {
            "description": "User Not Found"
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    },
    "/petstore/v1/usernames": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "List User Names",
        "description": "List user names.",
        "operationId": "listNames_users",
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "title": "User Names",
                  "type": "array",
                  "items": {
                    "title": "User Name",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      },
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Validate User Names",
        "description": "Check that all specified user names exist.",
        "operationId": "validateNames_users",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "User Names",
                "type": "array",
                "items": {
                  "title": "User Name",
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "title": "All Valid",
                  "type": "boolean"
                }
              }
            }
          }
        },
        "security": [
          {
            "waylayApiKeySecret": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Order": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "petId": {
            "type": "integer",
            "format": "int64",
            "example": 198772
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "example": 7
          },
          "shipDate": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "description": "Order Status",
            "example": "approved",
            "enum": [
              "placed",
              "approved",
              "delivered"
            ]
          },
          "complete": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "Customer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 100000
          },
          "username": {
            "type": "string",
            "example": "fehguy"
          },
          "address": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            }
          }
        }
      },
      "Address": {
        "type": "object",
        "properties": {
          "street": {
            "type": "string",
            "example": "437 Lytton"
          },
          "city": {
            "type": "string",
            "example": "Palo Alto"
          },
          "state": {
            "type": "string",
            "example": "CA"
          },
          "zip": {
            "type": "string",
            "example": "94301"
          }
        }
      },
      "Category": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 1
          },
          "name": {
            "type": "string",
            "example": "Dogs"
          }
        }
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "username": {
            "type": "string",
            "example": "theUser"
          },
          "firstName": {
            "type": "string",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "example": "James"
          },
          "email": {
            "type": "string",
            "example": "john@email.com"
          },
          "password": {
            "type": "string",
            "example": "12345"
          },
          "phone": {
            "type": "string",
            "example": "12345"
          },
          "userStatus": {
            "type": "integer",
            "description": "User Status",
            "format": "int32",
            "example": 1
          }
        }
      },
      "Tag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 123456
          },
          "name": {
            "type": "string",
            "example": "Cruella"
          }
        }
      },
      "Pet": {
        "required": [
          "name",
          "photoUrls"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 10
          },
          "name": {
            "type": "string",
            "example": "doggie"
          },
          "category": {
            "$ref": "#/components/schemas/Category"
          },
          "photoUrls": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "https://my-photo-url.io"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "status": {
            "type": "string",
            "description": "pet status in the store",
            "enum": [
              "available",
              "pending",
              "sold"
            ]
          }
        }
      },
      "PetEntities": {
        "type": "object",
        "required": [
          "entities"
        ],
        "properties": {
          "entities": {
            "$ref": "#/components/schemas/PetList"
          }
        }
      },
      "PetList": {
        "type": "object",
        "required": [
          "pets"
        ],
        "properties": {
          "pets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Pet"
            }
          }
        }
      },
      "ImageUploadResponse": {
        "x-classname": "ImageUpload",
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "example": 123
          },
          "type": {
            "type": "string",
            "example": "type1"
          },
          "message": {
            "type": "string",
            "example": "upload ok"
          }
        }
      },
      "AboutResponse": {
        "type": "object",
        "required": [
          "message",
          "version"
        ],
        "properties": {
          "message": {
            "type": "string",
            "example": "service info blah blah"
          },
          "version": {
            "type": "string",
            "example": "1.2.3-beta"
          }
        }
      },
      "PetRatingForm": {
        "title": "Pet Rating",
        "description": "Pet evaluation form.",
        "type": "object",
        "properties": {
          "rating": {
            "description": "Pet rating.",
            "type": "integer",
            "maximum": 5,
            "minimum": 0
          },
          "comment": {
            "description": "Pet rating comment.",
            "type": "string"
          }
        }
      }
    },
    "requestBodies": {
      "Pet": {
        "description": "Pet object that needs to be added to the store",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Pet"
            }
          }
        }
      },
      "UserArray": {
        "description": "List of user object",
        "content": {
          "application/json": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "waylayApiKeySecret": {
        "type": "http",
        "description": "Waylay apiKey/apiSecret basic authentication. All endpoints support also Waylay JWT Bearer authentication.",
        "scheme": "basic"
      }
    }
  }
}