openapi: 3.0.2 info: title: Swagger Petstore - OpenAPI 3.0 description: |- Forked and modified by International Network Support & Service - Glas. Modification are -> - removed xml and x-www-form-urlencoded (leaving only application/json). - Adding examples to paramters. - Validated with openapi-style-validator-cli. This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about Swagger at [http://swagger.io](http://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) - [OpenAPI samples from inss.ch](https://gitlab.com/networkinss/sampleopenapicollection) termsOfService: http://inss.ch contact: email: openapi@inss.ch license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html version: 1.1.0 externalDocs: description: Find out more about Swagger url: http://swagger.io servers: - url: http://localhost:8080/api/v3 description: Localhost with port 8080. tags: - name: pet description: Everything about your Pets externalDocs: description: Find out more url: http://swagger.io - name: store description: Operations about user - name: user description: Access to Petstore orders externalDocs: description: Find out more about our store url: http://swagger.io 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' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Pet' '400': description: Invalid ID supplied '404': description: Pet not found '405': description: Validation exception security: - 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' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Pet' '405': description: Invalid input 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 example: available responses: '200': description: successful operation content: application/json: 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 example: [tags1,tags2] responses: '200': description: successful operation content: application/json: 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 example: 99 responses: '200': description: successful operation content: application/json: 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: 'Updates a pet in the store with form data.' operationId: updatePetWithForm parameters: - name: petId in: path description: ID of pet that needs to be updated required: true schema: type: integer format: int64 example: 99 - name: name in: query description: Name of pet that needs to be updated schema: type: string example: dog - name: status in: query description: Status of pet that needs to be updated schema: type: string example: in progress. responses: '405': description: Invalid input security: - petstore_auth: - write:pets - read:pets delete: tags: - pet summary: Deletes a pet description: 'Deletes a pet.' operationId: deletePet parameters: - name: API_KEY in: header description: 'Api key.' required: false schema: type: string example: apikeyvalue1 - name: petId in: path description: Pet id to delete required: true schema: type: integer format: int64 example: 99 responses: '400': description: Invalid pet value security: - petstore_auth: - write:pets - read:pets /pet/{petId}/uploadimage: post: tags: - pet summary: uploads an image description: 'Uploads an image.' operationId: uploadFile parameters: - name: petId in: path description: ID of pet to update required: true schema: type: integer format: int64 example: 99 - name: additionalMetadata in: query description: Additional Metadata required: false schema: type: string example: metadata 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' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Order' '405': description: Invalid input /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 generated exceptions operationId: getOrderById parameters: - name: orderId in: path description: ID of order that needs to be fetched required: true schema: type: integer format: int64 example: 1001 responses: '200': description: successful operation content: application/json: 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 example: 1001 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' responses: default: description: successful operation content: application/json: 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' default: description: successful operation /user/login: get: tags: - user summary: Logs user into the system description: 'Logs user into the system' operationId: loginUser parameters: - name: username in: query description: The user name for login required: false schema: type: string example: jonny - name: password in: query description: The password for login in clear text required: false schema: type: string example: password responses: '200': description: successful operation headers: X-Rate-Limit: description: calls per hour allowed by the user schema: type: integer format: int32 example: 100 X-Expires-After: description: date in UTC when token expires schema: type: string format: date-time example: '2017-07-21T17:32:28Z' content: 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: 'Logs out current logged in user session' operationId: logoutUser parameters: [] responses: default: description: successful operation /user/{username}: get: tags: - user summary: Get user by user name description: 'Get user by user name' operationId: getUserByName parameters: - name: username in: path description: 'The name that needs to be fetched. Use user1 for testing. ' required: true schema: type: string example: jonny responses: '200': description: successful operation content: application/json: 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 example: jonny requestBody: description: Update an existent user in the store content: application/json: 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 example: jonny responses: '400': description: Invalid username supplied '404': description: User not found components: schemas: Order: type: object properties: id: type: integer format: int64 example: 10 description: 'Id of the order.' petId: type: integer format: int64 example: 198772 description: 'PetId' quantity: type: integer format: int32 example: 7 description: 'Quantity' shipDate: type: string format: date-time example: '2017-07-21T17:32:28Z' description: 'Shipping date.' status: type: string description: Order Status example: approved enum: - placed - approved - delivered complete: type: boolean example: true description: Order completed. Category: type: object properties: id: type: integer format: int64 example: 1 description: 'Id' name: type: string example: Dogs description: 'Name of category.' User: type: object properties: id: type: integer format: int64 example: 10 description: 'Id' username: type: string example: theUser description: 'Username' firstName: type: string example: John description: 'First name' lastName: type: string example: James description: 'Last name' email: type: string example: john@email.com format: email description: 'User mail address.' password: type: string example: 'password' description: 'Password.' phone: type: string example: '012345' description: 'Phone number' userStatus: type: integer description: User Status format: int32 example: 1 Tag: type: object properties: id: type: integer format: int64 example: 1 description: 'Id' name: type: string example: tag1 description: 'Name of tag.' Pet: required: - name - photoUrls type: object properties: id: type: integer format: int64 example: 10 description: 'Id' name: type: string example: doggie description: 'Name' category: $ref: '#/components/schemas/Category' photoUrls: type: array items: type: string example: [http://example.com/photo.png, http://example.com/photo2,png] description: 'Photo urls.' tags: type: array items: $ref: '#/components/schemas/Tag' status: type: string description: pet status in the store enum: - available - pending - sold example: available ApiResponse: type: object properties: code: type: integer format: int32 example: 123 description: 'Code' type: type: string example: responsetype description: 'Response type' message: type: string example: Message. description: 'The message.' requestBodies: Pet: description: Pet object that needs to be added to the store content: application/json: schema: $ref: '#/components/schemas/Pet' UserArray: description: List of user object content: application/json: schema: type: array items: $ref: '#/components/schemas/User' securitySchemes: 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