components:
  requestBodies:
    Pet:
      content:
        application/json:
          schema:
            properties:
              category:
                properties:
                  id:
                    example: 1
                    format: int64
                    type: integer
                  name:
                    example: Dogs
                    type: string
                type: object
                xml:
                  name: category
              id:
                example: 10
                format: int64
                type: integer
              name:
                example: doggie
                type: string
              photoUrls:
                items:
                  type: string
                  xml:
                    name: photoUrl
                type: array
                xml:
                  wrapped: true
              status:
                description: pet status in the store
                enum:
                - available
                - pending
                - sold
                type: string
              tags:
                items:
                  properties:
                    id:
                      format: int64
                      type: integer
                    name:
                      type: string
                  type: object
                  xml:
                    name: tag
                type: array
                xml:
                  wrapped: true
            required:
            - name
            - photoUrls
            type: object
            xml:
              name: pet
        application/xml:
          schema:
            properties:
              category:
                properties:
                  id:
                    example: 1
                    format: int64
                    type: integer
                  name:
                    example: Dogs
                    type: string
                type: object
                xml:
                  name: category
              id:
                example: 10
                format: int64
                type: integer
              name:
                example: doggie
                type: string
              photoUrls:
                items:
                  type: string
                  xml:
                    name: photoUrl
                type: array
                xml:
                  wrapped: true
              status:
                description: pet status in the store
                enum:
                - available
                - pending
                - sold
                type: string
              tags:
                items:
                  properties:
                    id:
                      format: int64
                      type: integer
                    name:
                      type: string
                  type: object
                  xml:
                    name: tag
                type: array
                xml:
                  wrapped: true
            required:
            - name
            - photoUrls
            type: object
            xml:
              name: pet
      description: Pet object that needs to be added to the store
    UserArray:
      content:
        application/json:
          schema:
            items:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
            type: array
      description: List of user object
  schemas:
    ApiResponse:
      properties:
        code:
          format: int32
          type: integer
        message:
          type: string
        type:
          type: string
      type: object
      xml:
        name: '##default'
    Category:
      properties:
        id:
          example: 1
          format: int64
          type: integer
        name:
          example: Dogs
          type: string
      type: object
      xml:
        name: category
    Order:
      properties:
        complete:
          type: boolean
        id:
          example: 10
          format: int64
          type: integer
        petId:
          example: 198772
          format: int64
          type: integer
        quantity:
          example: 7
          format: int32
          type: integer
        shipDate:
          format: date-time
          type: string
        status:
          description: Order Status
          enum:
          - placed
          - approved
          - delivered
          example: approved
          type: string
      type: object
      xml:
        name: order
    Pet:
      properties:
        category:
          properties:
            id:
              example: 1
              format: int64
              type: integer
            name:
              example: Dogs
              type: string
          type: object
          xml:
            name: category
        id:
          example: 10
          format: int64
          type: integer
        name:
          example: doggie
          type: string
        photoUrls:
          items:
            type: string
            xml:
              name: photoUrl
          type: array
          xml:
            wrapped: true
        status:
          description: pet status in the store
          enum:
          - available
          - pending
          - sold
          type: string
        tags:
          items:
            properties:
              id:
                format: int64
                type: integer
              name:
                type: string
            type: object
            xml:
              name: tag
          type: array
          xml:
            wrapped: true
      required:
      - name
      - photoUrls
      type: object
      xml:
        name: pet
    Tag:
      properties:
        id:
          format: int64
          type: integer
        name:
          type: string
      type: object
      xml:
        name: tag
    User:
      properties:
        email:
          example: john@email.com
          type: string
        firstName:
          example: John
          type: string
        id:
          example: 10
          format: int64
          type: integer
        lastName:
          example: James
          type: string
        password:
          example: "12345"
          type: string
        phone:
          example: "12345"
          type: string
        userStatus:
          description: User Status
          example: 1
          format: int32
          type: integer
        username:
          example: theUser
          type: string
      type: object
      xml:
        name: user
  securitySchemes:
    api_key:
      in: header
      name: api_key
      type: apiKey
    petstore_auth:
      flows:
        implicit:
          authorizationUrl: https://petstore3.swagger.io/oauth/authorize
          scopes:
            read:pets: read your pets
            write:pets: modify pets in your account
      type: oauth2
externalDocs:
  description: Find out more about Swagger
  url: https://swagger.io
info:
  contact:
    email: apiteam@swagger.io
  description: |-
    This is a sample Pet Store Server based on the OpenAPI 3.0 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)
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://swagger.io/terms/
  title: Swagger Petstore - OpenAPI 3.0
  version: 1.0.27
openapi: 3.0.4
paths:
  /pet:
    post:
      description: Add a new pet to the store.
      operationId: addPet
      requestBody:
        content:
          application/json:
            schema:
              properties:
                category:
                  properties:
                    id:
                      example: 1
                      format: int64
                      type: integer
                    name:
                      example: Dogs
                      type: string
                  type: object
                  xml:
                    name: category
                id:
                  example: 10
                  format: int64
                  type: integer
                name:
                  example: doggie
                  type: string
                photoUrls:
                  items:
                    type: string
                    xml:
                      name: photoUrl
                  type: array
                  xml:
                    wrapped: true
                status:
                  description: pet status in the store
                  enum:
                  - available
                  - pending
                  - sold
                  type: string
                tags:
                  items:
                    properties:
                      id:
                        format: int64
                        type: integer
                      name:
                        type: string
                    type: object
                    xml:
                      name: tag
                  type: array
                  xml:
                    wrapped: true
              required:
              - name
              - photoUrls
              type: object
              xml:
                name: pet
          application/x-www-form-urlencoded:
            schema:
              properties:
                category:
                  properties:
                    id:
                      example: 1
                      format: int64
                      type: integer
                    name:
                      example: Dogs
                      type: string
                  type: object
                  xml:
                    name: category
                id:
                  example: 10
                  format: int64
                  type: integer
                name:
                  example: doggie
                  type: string
                photoUrls:
                  items:
                    type: string
                    xml:
                      name: photoUrl
                  type: array
                  xml:
                    wrapped: true
                status:
                  description: pet status in the store
                  enum:
                  - available
                  - pending
                  - sold
                  type: string
                tags:
                  items:
                    properties:
                      id:
                        format: int64
                        type: integer
                      name:
                        type: string
                    type: object
                    xml:
                      name: tag
                  type: array
                  xml:
                    wrapped: true
              required:
              - name
              - photoUrls
              type: object
              xml:
                name: pet
          application/xml:
            schema:
              properties:
                category:
                  properties:
                    id:
                      example: 1
                      format: int64
                      type: integer
                    name:
                      example: Dogs
                      type: string
                  type: object
                  xml:
                    name: category
                id:
                  example: 10
                  format: int64
                  type: integer
                name:
                  example: doggie
                  type: string
                photoUrls:
                  items:
                    type: string
                    xml:
                      name: photoUrl
                  type: array
                  xml:
                    wrapped: true
                status:
                  description: pet status in the store
                  enum:
                  - available
                  - pending
                  - sold
                  type: string
                tags:
                  items:
                    properties:
                      id:
                        format: int64
                        type: integer
                      name:
                        type: string
                    type: object
                    xml:
                      name: tag
                  type: array
                  xml:
                    wrapped: true
              required:
              - name
              - photoUrls
              type: object
              xml:
                name: pet
        description: Create a new pet in the store
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
            application/xml:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
          description: Successful operation
        "400":
          description: Invalid input
        "422":
          description: Validation exception
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Add a new pet to the store.
      tags:
      - pet
    put:
      description: Update an existing pet by Id.
      operationId: updatePet
      requestBody:
        content:
          application/json:
            schema:
              properties:
                category:
                  properties:
                    id:
                      example: 1
                      format: int64
                      type: integer
                    name:
                      example: Dogs
                      type: string
                  type: object
                  xml:
                    name: category
                id:
                  example: 10
                  format: int64
                  type: integer
                name:
                  example: doggie
                  type: string
                photoUrls:
                  items:
                    type: string
                    xml:
                      name: photoUrl
                  type: array
                  xml:
                    wrapped: true
                status:
                  description: pet status in the store
                  enum:
                  - available
                  - pending
                  - sold
                  type: string
                tags:
                  items:
                    properties:
                      id:
                        format: int64
                        type: integer
                      name:
                        type: string
                    type: object
                    xml:
                      name: tag
                  type: array
                  xml:
                    wrapped: true
              required:
              - name
              - photoUrls
              type: object
              xml:
                name: pet
          application/x-www-form-urlencoded:
            schema:
              properties:
                category:
                  properties:
                    id:
                      example: 1
                      format: int64
                      type: integer
                    name:
                      example: Dogs
                      type: string
                  type: object
                  xml:
                    name: category
                id:
                  example: 10
                  format: int64
                  type: integer
                name:
                  example: doggie
                  type: string
                photoUrls:
                  items:
                    type: string
                    xml:
                      name: photoUrl
                  type: array
                  xml:
                    wrapped: true
                status:
                  description: pet status in the store
                  enum:
                  - available
                  - pending
                  - sold
                  type: string
                tags:
                  items:
                    properties:
                      id:
                        format: int64
                        type: integer
                      name:
                        type: string
                    type: object
                    xml:
                      name: tag
                  type: array
                  xml:
                    wrapped: true
              required:
              - name
              - photoUrls
              type: object
              xml:
                name: pet
          application/xml:
            schema:
              properties:
                category:
                  properties:
                    id:
                      example: 1
                      format: int64
                      type: integer
                    name:
                      example: Dogs
                      type: string
                  type: object
                  xml:
                    name: category
                id:
                  example: 10
                  format: int64
                  type: integer
                name:
                  example: doggie
                  type: string
                photoUrls:
                  items:
                    type: string
                    xml:
                      name: photoUrl
                  type: array
                  xml:
                    wrapped: true
                status:
                  description: pet status in the store
                  enum:
                  - available
                  - pending
                  - sold
                  type: string
                tags:
                  items:
                    properties:
                      id:
                        format: int64
                        type: integer
                      name:
                        type: string
                    type: object
                    xml:
                      name: tag
                  type: array
                  xml:
                    wrapped: true
              required:
              - name
              - photoUrls
              type: object
              xml:
                name: pet
        description: Update an existent pet in the store
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
            application/xml:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
          description: Successful operation
        "400":
          description: Invalid ID supplied
        "404":
          description: Pet not found
        "422":
          description: Validation exception
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Update an existing pet.
      tags:
      - pet
  /pet/{petId}:
    delete:
      description: Delete a pet.
      operationId: deletePet
      parameters:
      - description: ""
        in: header
        name: api_key
        required: false
        schema:
          type: string
      - description: Pet id to delete
        in: path
        name: petId
        required: true
        schema:
          format: int64
          type: integer
      responses:
        "200":
          description: Pet deleted
        "400":
          description: Invalid pet value
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Deletes a pet.
      tags:
      - pet
    get:
      description: Returns a single pet.
      operationId: getPetById
      parameters:
      - description: ID of pet to return
        in: path
        name: petId
        required: true
        schema:
          format: int64
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
            application/xml:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
          description: successful operation
        "400":
          description: Invalid ID supplied
        "404":
          description: Pet not found
        default:
          description: Unexpected error
      security:
      - api_key: []
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Find pet by ID.
      tags:
      - pet
    post:
      description: Updates a pet resource based on the form data.
      operationId: updatePetWithForm
      parameters:
      - description: ID of pet that needs to be updated
        in: path
        name: petId
        required: true
        schema:
          format: int64
          type: integer
      - description: Name of pet that needs to be updated
        in: query
        name: name
        schema:
          type: string
      - description: Status of pet that needs to be updated
        in: query
        name: status
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
            application/xml:
              schema:
                properties:
                  category:
                    properties:
                      id:
                        example: 1
                        format: int64
                        type: integer
                      name:
                        example: Dogs
                        type: string
                    type: object
                    xml:
                      name: category
                  id:
                    example: 10
                    format: int64
                    type: integer
                  name:
                    example: doggie
                    type: string
                  photoUrls:
                    items:
                      type: string
                      xml:
                        name: photoUrl
                    type: array
                    xml:
                      wrapped: true
                  status:
                    description: pet status in the store
                    enum:
                    - available
                    - pending
                    - sold
                    type: string
                  tags:
                    items:
                      properties:
                        id:
                          format: int64
                          type: integer
                        name:
                          type: string
                      type: object
                      xml:
                        name: tag
                    type: array
                    xml:
                      wrapped: true
                required:
                - name
                - photoUrls
                type: object
                xml:
                  name: pet
          description: successful operation
        "400":
          description: Invalid input
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Updates a pet in the store with form data.
      tags:
      - pet
  /pet/{petId}/uploadImage:
    post:
      description: Upload image of the pet.
      operationId: uploadFile
      parameters:
      - description: ID of pet to update
        in: path
        name: petId
        required: true
        schema:
          format: int64
          type: integer
      - description: Additional Metadata
        in: query
        name: additionalMetadata
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/octet-stream:
            schema:
              format: binary
              type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    format: int32
                    type: integer
                  message:
                    type: string
                  type:
                    type: string
                type: object
                xml:
                  name: '##default'
          description: successful operation
        "400":
          description: No file uploaded
        "404":
          description: Pet not found
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Uploads an image.
      tags:
      - pet
  /pet/findByStatus:
    get:
      description: Multiple status values can be provided with comma separated strings.
      operationId: findPetsByStatus
      parameters:
      - description: Status values that need to be considered for filter
        explode: true
        in: query
        name: status
        required: true
        schema:
          default: available
          enum:
          - available
          - pending
          - sold
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  properties:
                    category:
                      properties:
                        id:
                          example: 1
                          format: int64
                          type: integer
                        name:
                          example: Dogs
                          type: string
                      type: object
                      xml:
                        name: category
                    id:
                      example: 10
                      format: int64
                      type: integer
                    name:
                      example: doggie
                      type: string
                    photoUrls:
                      items:
                        type: string
                        xml:
                          name: photoUrl
                      type: array
                      xml:
                        wrapped: true
                    status:
                      description: pet status in the store
                      enum:
                      - available
                      - pending
                      - sold
                      type: string
                    tags:
                      items:
                        properties:
                          id:
                            format: int64
                            type: integer
                          name:
                            type: string
                        type: object
                        xml:
                          name: tag
                      type: array
                      xml:
                        wrapped: true
                  required:
                  - name
                  - photoUrls
                  type: object
                  xml:
                    name: pet
                type: array
            application/xml:
              schema:
                items:
                  properties:
                    category:
                      properties:
                        id:
                          example: 1
                          format: int64
                          type: integer
                        name:
                          example: Dogs
                          type: string
                      type: object
                      xml:
                        name: category
                    id:
                      example: 10
                      format: int64
                      type: integer
                    name:
                      example: doggie
                      type: string
                    photoUrls:
                      items:
                        type: string
                        xml:
                          name: photoUrl
                      type: array
                      xml:
                        wrapped: true
                    status:
                      description: pet status in the store
                      enum:
                      - available
                      - pending
                      - sold
                      type: string
                    tags:
                      items:
                        properties:
                          id:
                            format: int64
                            type: integer
                          name:
                            type: string
                        type: object
                        xml:
                          name: tag
                      type: array
                      xml:
                        wrapped: true
                  required:
                  - name
                  - photoUrls
                  type: object
                  xml:
                    name: pet
                type: array
          description: successful operation
        "400":
          description: Invalid status value
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Finds Pets by status.
      tags:
      - pet
  /pet/findByTags:
    get:
      description: Multiple tags can be provided with comma separated strings. Use
        tag1, tag2, tag3 for testing.
      operationId: findPetsByTags
      parameters:
      - description: Tags to filter by
        explode: true
        in: query
        name: tags
        required: true
        schema:
          items:
            type: string
          type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  properties:
                    category:
                      properties:
                        id:
                          example: 1
                          format: int64
                          type: integer
                        name:
                          example: Dogs
                          type: string
                      type: object
                      xml:
                        name: category
                    id:
                      example: 10
                      format: int64
                      type: integer
                    name:
                      example: doggie
                      type: string
                    photoUrls:
                      items:
                        type: string
                        xml:
                          name: photoUrl
                      type: array
                      xml:
                        wrapped: true
                    status:
                      description: pet status in the store
                      enum:
                      - available
                      - pending
                      - sold
                      type: string
                    tags:
                      items:
                        properties:
                          id:
                            format: int64
                            type: integer
                          name:
                            type: string
                        type: object
                        xml:
                          name: tag
                      type: array
                      xml:
                        wrapped: true
                  required:
                  - name
                  - photoUrls
                  type: object
                  xml:
                    name: pet
                type: array
            application/xml:
              schema:
                items:
                  properties:
                    category:
                      properties:
                        id:
                          example: 1
                          format: int64
                          type: integer
                        name:
                          example: Dogs
                          type: string
                      type: object
                      xml:
                        name: category
                    id:
                      example: 10
                      format: int64
                      type: integer
                    name:
                      example: doggie
                      type: string
                    photoUrls:
                      items:
                        type: string
                        xml:
                          name: photoUrl
                      type: array
                      xml:
                        wrapped: true
                    status:
                      description: pet status in the store
                      enum:
                      - available
                      - pending
                      - sold
                      type: string
                    tags:
                      items:
                        properties:
                          id:
                            format: int64
                            type: integer
                          name:
                            type: string
                        type: object
                        xml:
                          name: tag
                      type: array
                      xml:
                        wrapped: true
                  required:
                  - name
                  - photoUrls
                  type: object
                  xml:
                    name: pet
                type: array
          description: successful operation
        "400":
          description: Invalid tag value
        default:
          description: Unexpected error
      security:
      - petstore_auth:
        - write:pets
        - read:pets
      summary: Finds Pets by tags.
      tags:
      - pet
  /store/inventory:
    get:
      description: Returns a map of status codes to quantities.
      operationId: getInventory
      responses:
        "200":
          content:
            application/json:
              schema:
                additionalProperties:
                  format: int32
                  type: integer
                type: object
          description: successful operation
        default:
          description: Unexpected error
      security:
      - api_key: []
      summary: Returns pet inventories by status.
      tags:
      - store
  /store/order:
    post:
      description: Place a new order in the store.
      operationId: placeOrder
      requestBody:
        content:
          application/json:
            schema:
              properties:
                complete:
                  type: boolean
                id:
                  example: 10
                  format: int64
                  type: integer
                petId:
                  example: 198772
                  format: int64
                  type: integer
                quantity:
                  example: 7
                  format: int32
                  type: integer
                shipDate:
                  format: date-time
                  type: string
                status:
                  description: Order Status
                  enum:
                  - placed
                  - approved
                  - delivered
                  example: approved
                  type: string
              type: object
              xml:
                name: order
          application/x-www-form-urlencoded:
            schema:
              properties:
                complete:
                  type: boolean
                id:
                  example: 10
                  format: int64
                  type: integer
                petId:
                  example: 198772
                  format: int64
                  type: integer
                quantity:
                  example: 7
                  format: int32
                  type: integer
                shipDate:
                  format: date-time
                  type: string
                status:
                  description: Order Status
                  enum:
                  - placed
                  - approved
                  - delivered
                  example: approved
                  type: string
              type: object
              xml:
                name: order
          application/xml:
            schema:
              properties:
                complete:
                  type: boolean
                id:
                  example: 10
                  format: int64
                  type: integer
                petId:
                  example: 198772
                  format: int64
                  type: integer
                quantity:
                  example: 7
                  format: int32
                  type: integer
                shipDate:
                  format: date-time
                  type: string
                status:
                  description: Order Status
                  enum:
                  - placed
                  - approved
                  - delivered
                  example: approved
                  type: string
              type: object
              xml:
                name: order
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  complete:
                    type: boolean
                  id:
                    example: 10
                    format: int64
                    type: integer
                  petId:
                    example: 198772
                    format: int64
                    type: integer
                  quantity:
                    example: 7
                    format: int32
                    type: integer
                  shipDate:
                    format: date-time
                    type: string
                  status:
                    description: Order Status
                    enum:
                    - placed
                    - approved
                    - delivered
                    example: approved
                    type: string
                type: object
                xml:
                  name: order
          description: successful operation
        "400":
          description: Invalid input
        "422":
          description: Validation exception
        default:
          description: Unexpected error
      summary: Place an order for a pet.
      tags:
      - store
  /store/order/{orderId}:
    delete:
      description: For valid response try integer IDs with value < 1000. Anything
        above 1000 or non-integers will generate API errors.
      operationId: deleteOrder
      parameters:
      - description: ID of the order that needs to be deleted
        in: path
        name: orderId
        required: true
        schema:
          format: int64
          type: integer
      responses:
        "200":
          description: order deleted
        "400":
          description: Invalid ID supplied
        "404":
          description: Order not found
        default:
          description: Unexpected error
      summary: Delete purchase order by identifier.
      tags:
      - store
    get:
      description: For valid response try integer IDs with value <= 5 or > 10. Other
        values will generate exceptions.
      operationId: getOrderById
      parameters:
      - description: ID of order that needs to be fetched
        in: path
        name: orderId
        required: true
        schema:
          format: int64
          type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  complete:
                    type: boolean
                  id:
                    example: 10
                    format: int64
                    type: integer
                  petId:
                    example: 198772
                    format: int64
                    type: integer
                  quantity:
                    example: 7
                    format: int32
                    type: integer
                  shipDate:
                    format: date-time
                    type: string
                  status:
                    description: Order Status
                    enum:
                    - placed
                    - approved
                    - delivered
                    example: approved
                    type: string
                type: object
                xml:
                  name: order
            application/xml:
              schema:
                properties:
                  complete:
                    type: boolean
                  id:
                    example: 10
                    format: int64
                    type: integer
                  petId:
                    example: 198772
                    format: int64
                    type: integer
                  quantity:
                    example: 7
                    format: int32
                    type: integer
                  shipDate:
                    format: date-time
                    type: string
                  status:
                    description: Order Status
                    enum:
                    - placed
                    - approved
                    - delivered
                    example: approved
                    type: string
                type: object
                xml:
                  name: order
          description: successful operation
        "400":
          description: Invalid ID supplied
        "404":
          description: Order not found
        default:
          description: Unexpected error
      summary: Find purchase order by ID.
      tags:
      - store
  /user:
    post:
      description: This can only be done by the logged in user.
      operationId: createUser
      requestBody:
        content:
          application/json:
            schema:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
          application/x-www-form-urlencoded:
            schema:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
          application/xml:
            schema:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
        description: Created user object
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
            application/xml:
              schema:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
          description: successful operation
        default:
          description: Unexpected error
      summary: Create user.
      tags:
      - user
  /user/{username}:
    delete:
      description: This can only be done by the logged in user.
      operationId: deleteUser
      parameters:
      - description: The name that needs to be deleted
        in: path
        name: username
        required: true
        schema:
          type: string
      responses:
        "200":
          description: User deleted
        "400":
          description: Invalid username supplied
        "404":
          description: User not found
        default:
          description: Unexpected error
      summary: Delete user resource.
      tags:
      - user
    get:
      description: Get user detail based on username.
      operationId: getUserByName
      parameters:
      - description: The name that needs to be fetched. Use user1 for testing
        in: path
        name: username
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
            application/xml:
              schema:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
          description: successful operation
        "400":
          description: Invalid username supplied
        "404":
          description: User not found
        default:
          description: Unexpected error
      summary: Get user by user name.
      tags:
      - user
    put:
      description: This can only be done by the logged in user.
      operationId: updateUser
      parameters:
      - description: name that need to be deleted
        in: path
        name: username
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
          application/x-www-form-urlencoded:
            schema:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
          application/xml:
            schema:
              properties:
                email:
                  example: john@email.com
                  type: string
                firstName:
                  example: John
                  type: string
                id:
                  example: 10
                  format: int64
                  type: integer
                lastName:
                  example: James
                  type: string
                password:
                  example: "12345"
                  type: string
                phone:
                  example: "12345"
                  type: string
                userStatus:
                  description: User Status
                  example: 1
                  format: int32
                  type: integer
                username:
                  example: theUser
                  type: string
              type: object
              xml:
                name: user
        description: Update an existent user in the store
      responses:
        "200":
          description: successful operation
        "400":
          description: bad request
        "404":
          description: user not found
        default:
          description: Unexpected error
      summary: Update user resource.
      tags:
      - user
  /user/createWithList:
    post:
      description: Creates list of users with given input array.
      operationId: createUsersWithListInput
      requestBody:
        content:
          application/json:
            schema:
              items:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
              type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
            application/xml:
              schema:
                properties:
                  email:
                    example: john@email.com
                    type: string
                  firstName:
                    example: John
                    type: string
                  id:
                    example: 10
                    format: int64
                    type: integer
                  lastName:
                    example: James
                    type: string
                  password:
                    example: "12345"
                    type: string
                  phone:
                    example: "12345"
                    type: string
                  userStatus:
                    description: User Status
                    example: 1
                    format: int32
                    type: integer
                  username:
                    example: theUser
                    type: string
                type: object
                xml:
                  name: user
          description: Successful operation
        default:
          description: Unexpected error
      summary: Creates list of users with given input array.
      tags:
      - user
  /user/login:
    get:
      description: Log into the system.
      operationId: loginUser
      parameters:
      - description: The user name for login
        in: query
        name: username
        required: false
        schema:
          type: string
      - description: The password for login in clear text
        in: query
        name: password
        required: false
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
          description: successful operation
          headers:
            X-Expires-After:
              description: date in UTC when token expires
              schema:
                format: date-time
                type: string
            X-Rate-Limit:
              description: calls per hour allowed by the user
              schema:
                format: int32
                type: integer
        "400":
          description: Invalid username/password supplied
        default:
          description: Unexpected error
      summary: Logs user into the system.
      tags:
      - user
  /user/logout:
    get:
      description: Log user out of the system.
      operationId: logoutUser
      responses:
        "200":
          description: successful operation
        default:
          description: Unexpected error
      summary: Logs out current logged in user session.
      tags:
      - user
servers:
- url: /api/v3
tags:
- description: Everything about your Pets
  externalDocs:
    description: Find out more
    url: https://swagger.io
  name: pet
- description: Access to Petstore orders
  externalDocs:
    description: Find out more about our store
    url: https://swagger.io
  name: store
- description: Operations about user
  name: user
