apiVersion: 1.0.0
swaggerVersion: "1.2"
basePath: "http://localhost:8002/api"
resourcePath: /pet
produces: 
  - application/json
  - application/xml
  - text/plain
  - text/html
apis: 
  - path: "/pet/{petId}"
    operations: 
      - method: GET
        summary: Find pet by ID
        notes: Returns a pet based on ID
        type: Pet
        nickname: getPetById
        produces: 
          - application/json
          - application/xml
        authorizations: 
          - oauth2
        parameters: 
          - name: petId
            description: ID of pet that needs to be fetched
            required: true
            allowMultiple: false
            type: string
            paramType: path
        responseMessages: 
          - code: 400
            message: Invalid ID supplied
          - code: 404
            message: Pet not found
      - method: DELETE
        summary: Deletes a pet
        notes: ""
        type: void
        nickname: deletePet
        parameters: 
          - name: petId
            description: Pet id to delete
            required: true
            allowMultiple: false
            type: string
            paramType: path
        responseMessages: 
          - code: 400
            message: Invalid pet value
  - path: /pet
    operations: 
      - method: POST
        summary: Add a new pet to the store
        notes: ""
        type: void
        nickname: addPet
        parameters: 
          - name: body
            description: Pet object that needs to be added to the store
            required: true
            allowMultiple: false
            type: Pet
            paramType: body
        responseMessages: 
          - code: 405
            message: Invalid input
      - method: PUT
        summary: Update an existing pet
        notes: ""
        type: void
        nickname: updatePet
        parameters: 
          - name: body
            description: Pet object that needs to be updated in the store
            required: true
            allowMultiple: false
            type: Pet
            paramType: body
        responseMessages: 
          - code: 400
            message: Invalid ID supplied
          - code: 404
            message: Pet not found
          - code: 405
            message: Validation exception
  - path: /pet/findByStatus
    operations: 
      - method: GET
        summary: Finds Pets by status
        notes: Multiple status values can be provided with comma seperated strings
        type: array
        items: 
          $ref: Pet
        nickname: findPetsByStatus
        produces: 
          - application/json
          - application/xml
        parameters: 
          - name: status
            description: Status values that need to be considered for filter
            defaultValue: available
            required: true
            allowMultiple: true
            type: string
            paramType: query
            enum: 
              - available
              - pending
              - sold
        responseMessages: 
          - code: 400
            message: Invalid status value
  - path: /pet/findByTags
    operations: 
      - method: GET
        summary: Finds Pets by tags
        notes: "Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing."
        type: array
        items: 
          $ref: Pet
        nickname: findPetsByTags
        produces: 
          - application/json
          - application/xml
        parameters: 
          - name: tags
            description: Tags to filter by
            required: true
            allowMultiple: true
            type: string
            paramType: query
        responseMessages: 
          - code: 400
            message: Invalid tag value
        deprecated: "true"
models: 
  Tag: 
    id: Tag
    properties: 
      name: 
        type: string
      id: 
        type: integer
        format: int64
  Pet: 
    id: Pet
    description: "A pet is a person's best friend"
    required: 
      - id
      - name
    properties: 
      id: 
        type: integer
        format: int64
      tags: 
        type: array
        items: 
          $ref: Tag
      name: 
        type: string
      status: 
        type: string
        description: pet status in the store
        enum: 
          - available
          - pending
          - sold
      category: 
        $ref: Category
      photoUrls: 
        type: array
        items: 
          type: string
  Category: 
    id: Category
    properties: 
      name: 
        type: string
      id: 
        type: integer
        format: int64