feat: start to use openapi
This commit is contained in:
		
							
								
								
									
										828
									
								
								api/openapi/openapi-example.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										828
									
								
								api/openapi/openapi-example.yaml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,828 @@
 | 
			
		||||
# MIT License
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2024 vinchent <vinchent@vinchent.xyz>
 | 
			
		||||
#
 | 
			
		||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
# of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
# in the Software without restriction, including without limitation the rights
 | 
			
		||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
# copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
# furnished to do so, subject to the following conditions:
 | 
			
		||||
#
 | 
			
		||||
# The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
# copies or substantial portions of the Software.
 | 
			
		||||
#
 | 
			
		||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
# SOFTWARE.
 | 
			
		||||
 | 
			
		||||
swagger: "2.0"
 | 
			
		||||
openapi: 3.1.0
 | 
			
		||||
info:
 | 
			
		||||
  title: Swagger Petstore - OpenAPI 3.1
 | 
			
		||||
  description: |-
 | 
			
		||||
    This is a sample Pet Store Server based on the OpenAPI 3.1 specification.  You can find out more about
 | 
			
		||||
    Swagger at [https://swagger.io](https://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!
 | 
			
		||||
    You can now help us improve the API whether it's by making changes to the definition itself or to the code.
 | 
			
		||||
    That way, with time, we can improve the API in general, and expose some of the new features in OAS3.
 | 
			
		||||
 | 
			
		||||
    Some useful links:
 | 
			
		||||
    - [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)
 | 
			
		||||
    - [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)
 | 
			
		||||
 | 
			
		||||
  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
 | 
			
		||||
  version: 1.0.11
 | 
			
		||||
externalDocs:
 | 
			
		||||
  description: Find out more about Swagger
 | 
			
		||||
  url: http://swagger.io
 | 
			
		||||
servers:
 | 
			
		||||
  - url: https://petstore3.swagger.io/api/v3
 | 
			
		||||
tags:
 | 
			
		||||
  - name: pet
 | 
			
		||||
    description: Everything about your Pets
 | 
			
		||||
    externalDocs:
 | 
			
		||||
      description: Find out more
 | 
			
		||||
      url: http://swagger.io
 | 
			
		||||
  - name: store
 | 
			
		||||
    description: Access to Petstore orders
 | 
			
		||||
    externalDocs:
 | 
			
		||||
      description: Find out more about our store
 | 
			
		||||
      url: http://swagger.io
 | 
			
		||||
  - name: user
 | 
			
		||||
    description: Operations about user
 | 
			
		||||
paths:
 | 
			
		||||
  /pet:
 | 
			
		||||
    put:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Update an existing pet
 | 
			
		||||
      description: Update an existing pet by Id
 | 
			
		||||
      operationId: updatePet
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Update an existent pet in the store
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
        required: true
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Pet not found
 | 
			
		||||
        '422':
 | 
			
		||||
          description: Validation exception
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Add a new pet to the store
 | 
			
		||||
      description: Add a new pet to the store
 | 
			
		||||
      operationId: addPet
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Create a new pet in the store
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
        required: true
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid input
 | 
			
		||||
        '422':
 | 
			
		||||
          description: Validation exception
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /pet/findByStatus:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Finds Pets by status
 | 
			
		||||
      description: Multiple status values can be provided with comma separated strings
 | 
			
		||||
      operationId: findPetsByStatus
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: status
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Status values that need to be considered for filter
 | 
			
		||||
          required: false
 | 
			
		||||
          explode: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
            default: available
 | 
			
		||||
            enum:
 | 
			
		||||
              - available
 | 
			
		||||
              - pending
 | 
			
		||||
              - sold
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid status value
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /pet/findByTags:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Finds Pets by tags
 | 
			
		||||
      description: Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
 | 
			
		||||
      operationId: findPetsByTags
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: tags
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Tags to filter by
 | 
			
		||||
          required: false
 | 
			
		||||
          explode: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: array
 | 
			
		||||
            items:
 | 
			
		||||
              type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid tag value
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /pet/{petId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Find pet by ID
 | 
			
		||||
      description: Returns a single pet
 | 
			
		||||
      operationId: getPetById
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: petId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of pet to return
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Pet not found
 | 
			
		||||
      security:
 | 
			
		||||
        - api_key: []
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Updates a pet in the store with form data
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: updatePetWithForm
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: petId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of pet that needs to be updated
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
        - name: name
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Name of pet that needs to be updated
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
        - name: status
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Status of pet that needs to be updated
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid input
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
    delete:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: Deletes a pet
 | 
			
		||||
      description: delete a pet
 | 
			
		||||
      operationId: deletePet
 | 
			
		||||
      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
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid pet value
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /pet/{petId}/uploadImage:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - pet
 | 
			
		||||
      summary: uploads an image
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: uploadFile
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: petId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of pet to update
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
        - name: additionalMetadata
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Additional Metadata
 | 
			
		||||
          required: false
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      requestBody:
 | 
			
		||||
        content:
 | 
			
		||||
          application/octet-stream:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: string
 | 
			
		||||
              format: binary
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/ApiResponse'
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /store/inventory:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - store
 | 
			
		||||
      summary: Returns pet inventories by status
 | 
			
		||||
      description: Returns a map of status codes to quantities
 | 
			
		||||
      operationId: getInventory
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                additionalProperties:
 | 
			
		||||
                  type: integer
 | 
			
		||||
                  format: int32
 | 
			
		||||
      security:
 | 
			
		||||
        - api_key: []
 | 
			
		||||
  /store/order:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - store
 | 
			
		||||
      summary: Place an order for a pet
 | 
			
		||||
      description: Place a new order in the store
 | 
			
		||||
      operationId: placeOrder
 | 
			
		||||
      requestBody:
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Order'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Order'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Order'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Order'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid input
 | 
			
		||||
        '422':
 | 
			
		||||
          description: Validation exception
 | 
			
		||||
  /store/order/{orderId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - store
 | 
			
		||||
      summary: Find purchase order by ID
 | 
			
		||||
      description: For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.
 | 
			
		||||
      operationId: getOrderById
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: orderId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of order that needs to be fetched
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Order'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Order'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Order not found
 | 
			
		||||
    delete:
 | 
			
		||||
      tags:
 | 
			
		||||
        - store
 | 
			
		||||
      summary: Delete purchase order by ID
 | 
			
		||||
      description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
 | 
			
		||||
      operationId: deleteOrder
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: orderId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of the order that needs to be deleted
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Order not found
 | 
			
		||||
  /user:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Create user
 | 
			
		||||
      description: This can only be done by the logged in user.
 | 
			
		||||
      operationId: createUser
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Created user object
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
  /user/createWithList:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Creates list of users with given input array
 | 
			
		||||
      description: Creates list of users with given input array
 | 
			
		||||
      operationId: createUsersWithListInput
 | 
			
		||||
      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'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
  /user/login:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Logs user into the system
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: loginUser
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: query
 | 
			
		||||
          description: The user name for login
 | 
			
		||||
          required: false
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
        - name: password
 | 
			
		||||
          in: query
 | 
			
		||||
          description: The password for login in clear text
 | 
			
		||||
          required: false
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          headers:
 | 
			
		||||
            X-Rate-Limit:
 | 
			
		||||
              description: calls per hour allowed by the user
 | 
			
		||||
              schema:
 | 
			
		||||
                type: integer
 | 
			
		||||
                format: int32
 | 
			
		||||
            X-Expires-After:
 | 
			
		||||
              description: date in UTC when token expires
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: date-time
 | 
			
		||||
          content:
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid username/password supplied
 | 
			
		||||
  /user/logout:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Logs out current logged in user session
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: logoutUser
 | 
			
		||||
      parameters: []
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
  /user/{username}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Get user by user name
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: getUserByName
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: path
 | 
			
		||||
          description: 'The name that needs to be fetched. Use user1 for testing. '
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid username supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: User not found
 | 
			
		||||
    put:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Update user
 | 
			
		||||
      description: This can only be done by the logged in user.
 | 
			
		||||
      operationId: updateUser
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: path
 | 
			
		||||
          description: name that need to be deleted
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Update an existent user in the store
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
    delete:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Delete user
 | 
			
		||||
      description: This can only be done by the logged in user.
 | 
			
		||||
      operationId: deleteUser
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: path
 | 
			
		||||
          description: The name that needs to be deleted
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid username supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: User not found
 | 
			
		||||
components:
 | 
			
		||||
  schemas:
 | 
			
		||||
    Order:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [10]
 | 
			
		||||
        petId:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [198772]
 | 
			
		||||
        quantity:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int32
 | 
			
		||||
          examples: [7]
 | 
			
		||||
        shipDate:
 | 
			
		||||
          type: string
 | 
			
		||||
          format: date-time
 | 
			
		||||
        status:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: Order Status
 | 
			
		||||
          examples: [approved]
 | 
			
		||||
          enum:
 | 
			
		||||
            - placed
 | 
			
		||||
            - approved
 | 
			
		||||
            - delivered
 | 
			
		||||
        complete:
 | 
			
		||||
          type: boolean
 | 
			
		||||
      xml:
 | 
			
		||||
        name: order
 | 
			
		||||
    Customer:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [100000]
 | 
			
		||||
        username:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [fehguy]
 | 
			
		||||
        address:
 | 
			
		||||
          type: array
 | 
			
		||||
          xml:
 | 
			
		||||
            name: addresses
 | 
			
		||||
            wrapped: true
 | 
			
		||||
          items:
 | 
			
		||||
            $ref: '#/components/schemas/Address'
 | 
			
		||||
      xml:
 | 
			
		||||
        name: customer
 | 
			
		||||
    Address:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        street:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [437 Lytton]
 | 
			
		||||
        city:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [Palo Alto]
 | 
			
		||||
        state:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [CA]
 | 
			
		||||
        zip:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: ['94301']
 | 
			
		||||
      xml:
 | 
			
		||||
        name: address
 | 
			
		||||
    Category:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [1]
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [Dogs]
 | 
			
		||||
      xml:
 | 
			
		||||
        name: category
 | 
			
		||||
    User:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [10]
 | 
			
		||||
        username:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [theUser]
 | 
			
		||||
        firstName:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [John]
 | 
			
		||||
        lastName:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [James]
 | 
			
		||||
        email:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [john@email.com]
 | 
			
		||||
        password:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: ['12345']
 | 
			
		||||
        phone:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: ['12345']
 | 
			
		||||
        userStatus:
 | 
			
		||||
          type: integer
 | 
			
		||||
          description: User Status
 | 
			
		||||
          format: int32
 | 
			
		||||
          examples: [1]
 | 
			
		||||
      xml:
 | 
			
		||||
        name: user
 | 
			
		||||
    Tag:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
      xml:
 | 
			
		||||
        name: tag
 | 
			
		||||
    Pet:
 | 
			
		||||
      required:
 | 
			
		||||
        - name
 | 
			
		||||
        - photoUrls
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [10]
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [doggie]
 | 
			
		||||
        category:
 | 
			
		||||
          $ref: '#/components/schemas/Category'
 | 
			
		||||
        photoUrls:
 | 
			
		||||
          type: array
 | 
			
		||||
          xml:
 | 
			
		||||
            wrapped: true
 | 
			
		||||
          items:
 | 
			
		||||
            type: string
 | 
			
		||||
            xml:
 | 
			
		||||
              name: photoUrl
 | 
			
		||||
        tags:
 | 
			
		||||
          type: array
 | 
			
		||||
          xml:
 | 
			
		||||
            wrapped: true
 | 
			
		||||
          items:
 | 
			
		||||
            $ref: '#/components/schemas/Tag'
 | 
			
		||||
        status:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: pet status in the store
 | 
			
		||||
          enum:
 | 
			
		||||
            - available
 | 
			
		||||
            - pending
 | 
			
		||||
            - sold
 | 
			
		||||
      xml:
 | 
			
		||||
        name: pet
 | 
			
		||||
    ApiResponse:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        code:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int32
 | 
			
		||||
        type:
 | 
			
		||||
          type: string
 | 
			
		||||
        message:
 | 
			
		||||
          type: string
 | 
			
		||||
      xml:
 | 
			
		||||
        name: '##default'
 | 
			
		||||
  requestBodies:
 | 
			
		||||
    Pet:
 | 
			
		||||
      description: Pet object that needs to be added to the store
 | 
			
		||||
      content:
 | 
			
		||||
        application/json:
 | 
			
		||||
          schema:
 | 
			
		||||
            $ref: '#/components/schemas/Pet'
 | 
			
		||||
        application/xml:
 | 
			
		||||
          schema:
 | 
			
		||||
            $ref: '#/components/schemas/Pet'
 | 
			
		||||
    UserArray:
 | 
			
		||||
      description: List of user object
 | 
			
		||||
      content:
 | 
			
		||||
        application/json:
 | 
			
		||||
          schema:
 | 
			
		||||
            type: array
 | 
			
		||||
            items:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
  securitySchemes:
 | 
			
		||||
    petstore_auth:
 | 
			
		||||
      type: oauth2
 | 
			
		||||
      flows:
 | 
			
		||||
        implicit:
 | 
			
		||||
          authorizationUrl: https://petstore3.swagger.io/oauth/authorize
 | 
			
		||||
          scopes:
 | 
			
		||||
            write:pets: modify pets in your account
 | 
			
		||||
            read:pets: read your pets
 | 
			
		||||
    api_key:
 | 
			
		||||
      type: apiKey
 | 
			
		||||
      name: api_key
 | 
			
		||||
      in: header
 | 
			
		||||
@ -21,795 +21,79 @@
 | 
			
		||||
# SOFTWARE.
 | 
			
		||||
 | 
			
		||||
swagger: "2.0"
 | 
			
		||||
openapi: "3.1.0"
 | 
			
		||||
openapi: 3.1.0
 | 
			
		||||
info:
 | 
			
		||||
  title: Howmuch expense-sharing
 | 
			
		||||
  title: Howmuch Expense-sharing app
 | 
			
		||||
  description: |-
 | 
			
		||||
    A simple web application that can help you share your expense with your
 | 
			
		||||
    friends.
 | 
			
		||||
 | 
			
		||||
  contact:
 | 
			
		||||
    email: vinchent@vinchent.vinchent
 | 
			
		||||
    email: vinchent@vinchent.xyz
 | 
			
		||||
  license:
 | 
			
		||||
    name: MIT
 | 
			
		||||
    url: https://opensource.org/license/MIT
 | 
			
		||||
  version: 0.0.1
 | 
			
		||||
# externalDocs:
 | 
			
		||||
#   description: Find out more about Swagger
 | 
			
		||||
#   url: http://swagger.io
 | 
			
		||||
  version: '0.0.1'
 | 
			
		||||
servers:
 | 
			
		||||
  - url: http://localhost:8080/v1
 | 
			
		||||
  - url: https:/localhost:8000/v1
 | 
			
		||||
tags:
 | 
			
		||||
  - name: event
 | 
			
		||||
    description: Event with your friends
 | 
			
		||||
  - name: expense
 | 
			
		||||
    description: Who paid how much for whom else
 | 
			
		||||
  - name: user
 | 
			
		||||
    description: Operations about user
 | 
			
		||||
 | 
			
		||||
paths:
 | 
			
		||||
  /event:
 | 
			
		||||
    put:
 | 
			
		||||
  /signup:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Update an existing pet
 | 
			
		||||
      description: Update an existing pet by Id
 | 
			
		||||
      operationId: updatePet
 | 
			
		||||
        - user
 | 
			
		||||
      description: Sign up as a new user
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Update an existent pet in the store
 | 
			
		||||
        description: Sign up
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
        required: true
 | 
			
		||||
              $ref: '#/components/schemas/UserSignUpRequest'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Successful operation
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Client side error
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Pet not found
 | 
			
		||||
        '422':
 | 
			
		||||
          description: Validation exception
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Add a new pet to the store
 | 
			
		||||
      description: Add a new pet to the store
 | 
			
		||||
      operationId: addPet
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Create a new pet in the store
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Pet'
 | 
			
		||||
        required: true
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Successful operation
 | 
			
		||||
                $ref: '#/components/schemas/ErrResponse'
 | 
			
		||||
        '500':
 | 
			
		||||
          description: Server side error
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid input
 | 
			
		||||
        '422':
 | 
			
		||||
          description: Validation exception
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /event/findByStatus:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Finds Pets by status
 | 
			
		||||
      description: Multiple status values can be provided with comma separated strings
 | 
			
		||||
      operationId: findPetsByStatus
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: status
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Status values that need to be considered for filter
 | 
			
		||||
          required: false
 | 
			
		||||
          explode: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
            default: available
 | 
			
		||||
            enum:
 | 
			
		||||
              - available
 | 
			
		||||
              - pending
 | 
			
		||||
              - sold
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid status value
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /event/findByTags:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Finds Pets by tags
 | 
			
		||||
      description: Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
 | 
			
		||||
      operationId: findPetsByTags
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: tags
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Tags to filter by
 | 
			
		||||
          required: false
 | 
			
		||||
          explode: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: array
 | 
			
		||||
            items:
 | 
			
		||||
              type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid tag value
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /event/{eventId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Find pet by ID
 | 
			
		||||
      description: Returns a single pet
 | 
			
		||||
      operationId: getPetById
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: petId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of pet to return
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Pet'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Pet not found
 | 
			
		||||
      security:
 | 
			
		||||
        - api_key: []
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Updates a pet in the store with form data
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: updatePetWithForm
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: petId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of pet that needs to be updated
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
        - name: name
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Name of pet that needs to be updated
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
        - name: status
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Status of pet that needs to be updated
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid input
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
    delete:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: Deletes a pet
 | 
			
		||||
      description: delete a pet
 | 
			
		||||
      operationId: deletePet
 | 
			
		||||
      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
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid pet value
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /event/{eventId}/uploadImage:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - event
 | 
			
		||||
      summary: uploads an image
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: uploadFile
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: petId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of pet to update
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
        - name: additionalMetadata
 | 
			
		||||
          in: query
 | 
			
		||||
          description: Additional Metadata
 | 
			
		||||
          required: false
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      requestBody:
 | 
			
		||||
        content:
 | 
			
		||||
          application/octet-stream:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: string
 | 
			
		||||
              format: binary
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/ApiResponse'
 | 
			
		||||
      security:
 | 
			
		||||
        - petstore_auth:
 | 
			
		||||
            - write:pets
 | 
			
		||||
            - read:pets
 | 
			
		||||
  /expense/inventory:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - expense
 | 
			
		||||
      summary: Returns pet inventories by status
 | 
			
		||||
      description: Returns a map of status codes to quantities
 | 
			
		||||
      operationId: getInventory
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                additionalProperties:
 | 
			
		||||
                  type: integer
 | 
			
		||||
                  format: int32
 | 
			
		||||
      security:
 | 
			
		||||
        - api_key: []
 | 
			
		||||
  /expense/order:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - expense
 | 
			
		||||
      summary: Place an order for a pet
 | 
			
		||||
      description: Place a new order in the store
 | 
			
		||||
      operationId: placeOrder
 | 
			
		||||
      requestBody:
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Order'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Order'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/Order'
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Order'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid input
 | 
			
		||||
        '422':
 | 
			
		||||
          description: Validation exception
 | 
			
		||||
  /expense/order/{orderId}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - expense
 | 
			
		||||
      summary: Find purchase order by ID
 | 
			
		||||
      description: For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.
 | 
			
		||||
      operationId: getOrderById
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: orderId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of order that needs to be fetched
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Order'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Order'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Order not found
 | 
			
		||||
    delete:
 | 
			
		||||
      tags:
 | 
			
		||||
        - expense
 | 
			
		||||
      summary: Delete purchase order by ID
 | 
			
		||||
      description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
 | 
			
		||||
      operationId: deleteOrder
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: orderId
 | 
			
		||||
          in: path
 | 
			
		||||
          description: ID of the order that needs to be deleted
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: integer
 | 
			
		||||
            format: int64
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid ID supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: Order not found
 | 
			
		||||
  /user:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Create user
 | 
			
		||||
      description: This can only be done by the logged in user.
 | 
			
		||||
      operationId: createUser
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Created user object
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
  /user/createWithList:
 | 
			
		||||
    post:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Creates list of users with given input array
 | 
			
		||||
      description: Creates list of users with given input array
 | 
			
		||||
      operationId: createUsersWithListInput
 | 
			
		||||
      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'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
  /user/login:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Logs user into the system
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: loginUser
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: query
 | 
			
		||||
          description: The user name for login
 | 
			
		||||
          required: false
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
        - name: password
 | 
			
		||||
          in: query
 | 
			
		||||
          description: The password for login in clear text
 | 
			
		||||
          required: false
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          headers:
 | 
			
		||||
            X-Rate-Limit:
 | 
			
		||||
              description: calls per hour allowed by the user
 | 
			
		||||
              schema:
 | 
			
		||||
                type: integer
 | 
			
		||||
                format: int32
 | 
			
		||||
            X-Expires-After:
 | 
			
		||||
              description: date in UTC when token expires
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                format: date-time
 | 
			
		||||
          content:
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid username/password supplied
 | 
			
		||||
  /user/logout:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Logs out current logged in user session
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: logoutUser
 | 
			
		||||
      parameters: []
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
  /user/{username}:
 | 
			
		||||
    get:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Get user by user name
 | 
			
		||||
      description: ''
 | 
			
		||||
      operationId: getUserByName
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: path
 | 
			
		||||
          description: 'The name that needs to be fetched. Use user1 for testing. '
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: successful operation
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
            application/xml:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/User'
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid username supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: User not found
 | 
			
		||||
    put:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Update user
 | 
			
		||||
      description: This can only be done by the logged in user.
 | 
			
		||||
      operationId: updateUser
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: path
 | 
			
		||||
          description: name that need to be deleted
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      requestBody:
 | 
			
		||||
        description: Update an existent user in the store
 | 
			
		||||
        content:
 | 
			
		||||
          application/json:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/xml:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: successful operation
 | 
			
		||||
    delete:
 | 
			
		||||
      tags:
 | 
			
		||||
        - user
 | 
			
		||||
      summary: Delete user
 | 
			
		||||
      description: This can only be done by the logged in user.
 | 
			
		||||
      operationId: deleteUser
 | 
			
		||||
      parameters:
 | 
			
		||||
        - name: username
 | 
			
		||||
          in: path
 | 
			
		||||
          description: The name that needs to be deleted
 | 
			
		||||
          required: true
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '400':
 | 
			
		||||
          description: Invalid username supplied
 | 
			
		||||
        '404':
 | 
			
		||||
          description: User not found
 | 
			
		||||
                $ref: '#/components/schemas/ErrResponse'
 | 
			
		||||
 | 
			
		||||
components:
 | 
			
		||||
  schemas:
 | 
			
		||||
    Order:
 | 
			
		||||
    UserSignUpRequest:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [10]
 | 
			
		||||
        petId:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [198772]
 | 
			
		||||
        quantity:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int32
 | 
			
		||||
          examples: [7]
 | 
			
		||||
        shipDate:
 | 
			
		||||
          type: string
 | 
			
		||||
          format: date-time
 | 
			
		||||
        status:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: Order Status
 | 
			
		||||
          examples: [approved]
 | 
			
		||||
          enum:
 | 
			
		||||
            - placed
 | 
			
		||||
            - approved
 | 
			
		||||
            - delivered
 | 
			
		||||
        complete:
 | 
			
		||||
          type: boolean
 | 
			
		||||
      xml:
 | 
			
		||||
        name: order
 | 
			
		||||
    Customer:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [100000]
 | 
			
		||||
        username:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [fehguy]
 | 
			
		||||
        address:
 | 
			
		||||
          type: array
 | 
			
		||||
          xml:
 | 
			
		||||
            name: addresses
 | 
			
		||||
            wrapped: true
 | 
			
		||||
          items:
 | 
			
		||||
            $ref: '#/components/schemas/Address'
 | 
			
		||||
      xml:
 | 
			
		||||
        name: customer
 | 
			
		||||
    Address:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        street:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [437 Lytton]
 | 
			
		||||
        city:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [Palo Alto]
 | 
			
		||||
        state:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [CA]
 | 
			
		||||
        zip:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: ['94301']
 | 
			
		||||
      xml:
 | 
			
		||||
        name: address
 | 
			
		||||
    Category:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [1]
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [Dogs]
 | 
			
		||||
      xml:
 | 
			
		||||
        name: category
 | 
			
		||||
    User:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [10]
 | 
			
		||||
        username:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [theUser]
 | 
			
		||||
        firstName:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [John]
 | 
			
		||||
        lastName:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [James]
 | 
			
		||||
        email:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [john@email.com]
 | 
			
		||||
          example: bruce@wayne.com
 | 
			
		||||
        first_name:
 | 
			
		||||
          type: string
 | 
			
		||||
          example: Bruce
 | 
			
		||||
        last_name:
 | 
			
		||||
          type: string
 | 
			
		||||
          example: Wayne
 | 
			
		||||
        password:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: ['12345']
 | 
			
		||||
        phone:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: ['12345']
 | 
			
		||||
        userStatus:
 | 
			
		||||
          type: integer
 | 
			
		||||
          description: User Status
 | 
			
		||||
          format: int32
 | 
			
		||||
          examples: [1]
 | 
			
		||||
      xml:
 | 
			
		||||
        name: user
 | 
			
		||||
    Tag:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
      xml:
 | 
			
		||||
        name: tag
 | 
			
		||||
    Pet:
 | 
			
		||||
          example: verystrongpassword
 | 
			
		||||
      required:
 | 
			
		||||
        - name
 | 
			
		||||
        - photoUrls
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int64
 | 
			
		||||
          examples: [10]
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
          examples: [doggie]
 | 
			
		||||
        category:
 | 
			
		||||
          $ref: '#/components/schemas/Category'
 | 
			
		||||
        photoUrls:
 | 
			
		||||
          type: array
 | 
			
		||||
          xml:
 | 
			
		||||
            wrapped: true
 | 
			
		||||
          items:
 | 
			
		||||
            type: string
 | 
			
		||||
            xml:
 | 
			
		||||
              name: photoUrl
 | 
			
		||||
        tags:
 | 
			
		||||
          type: array
 | 
			
		||||
          xml:
 | 
			
		||||
            wrapped: true
 | 
			
		||||
          items:
 | 
			
		||||
            $ref: '#/components/schemas/Tag'
 | 
			
		||||
        status:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: pet status in the store
 | 
			
		||||
          enum:
 | 
			
		||||
            - available
 | 
			
		||||
            - pending
 | 
			
		||||
            - sold
 | 
			
		||||
      xml:
 | 
			
		||||
        name: pet
 | 
			
		||||
    ApiResponse:
 | 
			
		||||
        - email
 | 
			
		||||
        - fist_name
 | 
			
		||||
        - last_name
 | 
			
		||||
        - password
 | 
			
		||||
    ErrResponse:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        code:
 | 
			
		||||
          type: integer
 | 
			
		||||
          format: int32
 | 
			
		||||
        type:
 | 
			
		||||
          type: string
 | 
			
		||||
          example: FailedOperation.UserAlreadyExists
 | 
			
		||||
        message:
 | 
			
		||||
          type: string
 | 
			
		||||
      xml:
 | 
			
		||||
        name: '##default'
 | 
			
		||||
  requestBodies:
 | 
			
		||||
    Pet:
 | 
			
		||||
      description: Pet object that needs to be added to the store
 | 
			
		||||
      content:
 | 
			
		||||
        application/json:
 | 
			
		||||
          schema:
 | 
			
		||||
            $ref: '#/components/schemas/Pet'
 | 
			
		||||
        application/xml:
 | 
			
		||||
          schema:
 | 
			
		||||
            $ref: '#/components/schemas/Pet'
 | 
			
		||||
    UserArray:
 | 
			
		||||
      description: List of user object
 | 
			
		||||
      content:
 | 
			
		||||
        application/json:
 | 
			
		||||
          schema:
 | 
			
		||||
            type: array
 | 
			
		||||
            items:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
  securitySchemes:
 | 
			
		||||
    petstore_auth:
 | 
			
		||||
      type: oauth2
 | 
			
		||||
      flows:
 | 
			
		||||
        implicit:
 | 
			
		||||
          authorizationUrl: https://petstore3.swagger.io/oauth/authorize
 | 
			
		||||
          scopes:
 | 
			
		||||
            write:pets: modify pets in your account
 | 
			
		||||
            read:pets: read your pets
 | 
			
		||||
    api_key:
 | 
			
		||||
      type: apiKey
 | 
			
		||||
      name: api_key
 | 
			
		||||
      in: header
 | 
			
		||||
          example: "User already exists."
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user