github.com/circl-dev/go-swagger@v0.31.0/examples/generated/swagger-petstore.json (about)

     1  {
     2      "swagger": "2.0",
     3      "info": {
     4          "description": "This is a sample server Petstore server.\n\n[Learn about Swagger](http://swagger.wordnik.com) or join the IRC channel '#swagger' on irc.freenode.net.\n\nFor this sample, you can use the api key 'special-key' to test the authorization filters\n",
     5          "version": "1.0.0",
     6          "title": "Swagger Petstore",
     7          "termsOfService": "http://helloreverb.com/terms/",
     8          "contact": {
     9              "name": "apiteam@wordnik.com"
    10          },
    11          "license": {
    12              "name": "Apache 2.0",
    13              "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    14          }
    15      },
    16      "host": "petstore.swagger.wordnik.com",
    17      "basePath": "/v2",
    18      "schemes": [
    19          "http"
    20      ],
    21      "paths": {
    22          "/pets": {
    23              "post": {
    24                  "tags": [
    25                      "pet"
    26                  ],
    27                  "summary": "Add a new pet to the store",
    28                  "description": "",
    29                  "operationId": "addPet",
    30                  "consumes": [
    31                      "application/json",
    32                      "application/xml"
    33                  ],
    34                  "produces": [
    35                      "application/json",
    36                      "application/xml"
    37                  ],
    38                  "parameters": [
    39                      {
    40                          "in": "body",
    41                          "name": "body",
    42                          "description": "Pet object that needs to be added to the store",
    43                          "required": false,
    44                          "schema": {
    45                              "$ref": "#/definitions/Pet"
    46                          }
    47                      }
    48                  ],
    49                  "responses": {
    50                      "405": {
    51                          "description": "Invalid input"
    52                      }
    53                  },
    54                  "security": [
    55                      {
    56                          "petstore_auth": [
    57                              "write_pets",
    58                              "read_pets"
    59                          ]
    60                      }
    61                  ]
    62              },
    63              "put": {
    64                  "tags": [
    65                      "pet"
    66                  ],
    67                  "summary": "Update an existing pet",
    68                  "description": "",
    69                  "operationId": "updatePet",
    70                  "consumes": [
    71                      "application/json",
    72                      "application/xml"
    73                  ],
    74                  "produces": [
    75                      "application/json",
    76                      "application/xml"
    77                  ],
    78                  "parameters": [
    79                      {
    80                          "in": "body",
    81                          "name": "body",
    82                          "description": "Pet object that needs to be added to the store",
    83                          "required": false,
    84                          "schema": {
    85                              "$ref": "#/definitions/Pet"
    86                          }
    87                      }
    88                  ],
    89                  "responses": {
    90                      "400": {
    91                          "description": "Invalid ID supplied"
    92                      },
    93                      "404": {
    94                          "description": "Pet not found"
    95                      },
    96                      "405": {
    97                          "description": "Validation exception"
    98                      }
    99                  },
   100                  "security": [
   101                      {
   102                          "petstore_auth": [
   103                              "write_pets",
   104                              "read_pets"
   105                          ]
   106                      }
   107                  ]
   108              }
   109          },
   110          "/pets/findByStatus": {
   111              "get": {
   112                  "tags": [
   113                      "pet"
   114                  ],
   115                  "summary": "Finds Pets by status",
   116                  "description": "Multiple status values can be provided with comma separated strings",
   117                  "operationId": "findPetsByStatus",
   118                  "produces": [
   119                      "application/json",
   120                      "application/xml"
   121                  ],
   122                  "parameters": [
   123                      {
   124                          "in": "query",
   125                          "name": "status",
   126                          "description": "Status values that need to be considered for filter",
   127                          "required": false,
   128                          "type": "array",
   129                          "items": {
   130                              "type": "string"
   131                          },
   132                          "collectionFormat": "multi"
   133                      }
   134                  ],
   135                  "responses": {
   136                      "200": {
   137                          "description": "successful operation",
   138                          "schema": {
   139                              "type": "array",
   140                              "items": {
   141                                  "$ref": "#/definitions/Pet"
   142                              }
   143                          }
   144                      },
   145                      "400": {
   146                          "description": "Invalid status value"
   147                      }
   148                  },
   149                  "security": [
   150                      {
   151                          "petstore_auth": [
   152                              "write_pets",
   153                              "read_pets"
   154                          ]
   155                      }
   156                  ]
   157              }
   158          },
   159          "/pets/findByTags": {
   160              "get": {
   161                  "tags": [
   162                      "pet"
   163                  ],
   164                  "summary": "Finds Pets by tags",
   165                  "description": "Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
   166                  "operationId": "findPetsByTags",
   167                  "produces": [
   168                      "application/json",
   169                      "application/xml"
   170                  ],
   171                  "parameters": [
   172                      {
   173                          "in": "query",
   174                          "name": "tags",
   175                          "description": "Tags to filter by",
   176                          "required": false,
   177                          "type": "array",
   178                          "items": {
   179                              "type": "string"
   180                          },
   181                          "collectionFormat": "multi"
   182                      }
   183                  ],
   184                  "responses": {
   185                      "200": {
   186                          "description": "successful operation",
   187                          "schema": {
   188                              "type": "array",
   189                              "items": {
   190                                  "$ref": "#/definitions/Pet"
   191                              }
   192                          }
   193                      },
   194                      "400": {
   195                          "description": "Invalid tag value"
   196                      }
   197                  },
   198                  "security": [
   199                      {
   200                          "petstore_auth": [
   201                              "write_pets",
   202                              "read_pets"
   203                          ]
   204                      }
   205                  ]
   206              }
   207          },
   208          "/pets/{petId}": {
   209              "get": {
   210                  "tags": [
   211                      "pet"
   212                  ],
   213                  "summary": "Find pet by ID",
   214                  "description": "Returns a pet when ID < 10.  ID > 10 or nonintegers will simulate API error conditions",
   215                  "operationId": "getPetById",
   216                  "produces": [
   217                      "application/json",
   218                      "application/xml"
   219                  ],
   220                  "parameters": [
   221                      {
   222                          "in": "path",
   223                          "name": "petId",
   224                          "description": "ID of pet that needs to be fetched",
   225                          "required": true,
   226                          "type": "integer",
   227                          "format": "int64"
   228                      }
   229                  ],
   230                  "responses": {
   231                      "200": {
   232                          "description": "successful operation",
   233                          "schema": {
   234                              "$ref": "#/definitions/Pet"
   235                          }
   236                      },
   237                      "400": {
   238                          "description": "Invalid ID supplied"
   239                      },
   240                      "404": {
   241                          "description": "Pet not found"
   242                      }
   243                  },
   244                  "security": [
   245                      {
   246                          "api_key": []
   247                      },
   248                      {
   249                          "petstore_auth": [
   250                              "write_pets",
   251                              "read_pets"
   252                          ]
   253                      }
   254                  ]
   255              },
   256              "post": {
   257                  "tags": [
   258                      "pet"
   259                  ],
   260                  "summary": "Updates a pet in the store with form data",
   261                  "description": "",
   262                  "operationId": "updatePetWithForm",
   263                  "consumes": [
   264                      "application/x-www-form-urlencoded"
   265                  ],
   266                  "produces": [
   267                      "application/json",
   268                      "application/xml"
   269                  ],
   270                  "parameters": [
   271                      {
   272                          "in": "path",
   273                          "name": "petId",
   274                          "description": "ID of pet that needs to be updated",
   275                          "required": true,
   276                          "type": "string"
   277                      },
   278                      {
   279                          "in": "formData",
   280                          "name": "name",
   281                          "description": "Updated name of the pet",
   282                          "required": true,
   283                          "type": "string"
   284                      },
   285                      {
   286                          "in": "formData",
   287                          "name": "status",
   288                          "description": "Updated status of the pet",
   289                          "required": true,
   290                          "type": "string"
   291                      }
   292                  ],
   293                  "responses": {
   294                      "405": {
   295                          "description": "Invalid input"
   296                      }
   297                  },
   298                  "security": [
   299                      {
   300                          "petstore_auth": [
   301                              "write_pets",
   302                              "read_pets"
   303                          ]
   304                      }
   305                  ]
   306              },
   307              "delete": {
   308                  "tags": [
   309                      "pet"
   310                  ],
   311                  "summary": "Deletes a pet",
   312                  "description": "",
   313                  "operationId": "deletePet",
   314                  "produces": [
   315                      "application/json",
   316                      "application/xml"
   317                  ],
   318                  "parameters": [
   319                      {
   320                          "in": "header",
   321                          "name": "api_key",
   322                          "description": "",
   323                          "required": true,
   324                          "type": "string"
   325                      },
   326                      {
   327                          "in": "path",
   328                          "name": "petId",
   329                          "description": "Pet id to delete",
   330                          "required": true,
   331                          "type": "integer",
   332                          "format": "int64"
   333                      }
   334                  ],
   335                  "responses": {
   336                      "400": {
   337                          "description": "Invalid pet value"
   338                      }
   339                  },
   340                  "security": [
   341                      {
   342                          "petstore_auth": [
   343                              "write_pets",
   344                              "read_pets"
   345                          ]
   346                      }
   347                  ]
   348              }
   349          },
   350          "/stores/order": {
   351              "post": {
   352                  "tags": [
   353                      "store"
   354                  ],
   355                  "summary": "Place an order for a pet",
   356                  "description": "",
   357                  "operationId": "placeOrder",
   358                  "produces": [
   359                      "application/json",
   360                      "application/xml"
   361                  ],
   362                  "parameters": [
   363                      {
   364                          "in": "body",
   365                          "name": "body",
   366                          "description": "order placed for purchasing the pet",
   367                          "required": false,
   368                          "schema": {
   369                              "$ref": "#/definitions/Order"
   370                          }
   371                      }
   372                  ],
   373                  "responses": {
   374                      "200": {
   375                          "description": "successful operation",
   376                          "schema": {
   377                              "$ref": "#/definitions/Order"
   378                          }
   379                      },
   380                      "400": {
   381                          "description": "Invalid Order"
   382                      }
   383                  }
   384              }
   385          },
   386          "/stores/order/{orderId}": {
   387              "get": {
   388                  "tags": [
   389                      "store"
   390                  ],
   391                  "summary": "Find purchase order by ID",
   392                  "description": "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions",
   393                  "operationId": "getOrderById",
   394                  "produces": [
   395                      "application/json",
   396                      "application/xml"
   397                  ],
   398                  "parameters": [
   399                      {
   400                          "in": "path",
   401                          "name": "orderId",
   402                          "description": "ID of pet that needs to be fetched",
   403                          "required": true,
   404                          "type": "string"
   405                      }
   406                  ],
   407                  "responses": {
   408                      "200": {
   409                          "description": "successful operation",
   410                          "schema": {
   411                              "$ref": "#/definitions/Order"
   412                          }
   413                      },
   414                      "400": {
   415                          "description": "Invalid ID supplied"
   416                      },
   417                      "404": {
   418                          "description": "Order not found"
   419                      }
   420                  }
   421              },
   422              "delete": {
   423                  "tags": [
   424                      "store"
   425                  ],
   426                  "summary": "Delete purchase order by ID",
   427                  "description": "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors",
   428                  "operationId": "deleteOrder",
   429                  "produces": [
   430                      "application/json",
   431                      "application/xml"
   432                  ],
   433                  "parameters": [
   434                      {
   435                          "in": "path",
   436                          "name": "orderId",
   437                          "description": "ID of the order that needs to be deleted",
   438                          "required": true,
   439                          "type": "string"
   440                      }
   441                  ],
   442                  "responses": {
   443                      "400": {
   444                          "description": "Invalid ID supplied"
   445                      },
   446                      "404": {
   447                          "description": "Order not found"
   448                      }
   449                  }
   450              }
   451          },
   452          "/users": {
   453              "post": {
   454                  "tags": [
   455                      "user"
   456                  ],
   457                  "summary": "Create user",
   458                  "description": "This can only be done by the logged in user.",
   459                  "operationId": "createUser",
   460                  "produces": [
   461                      "application/json",
   462                      "application/xml"
   463                  ],
   464                  "parameters": [
   465                      {
   466                          "in": "body",
   467                          "name": "body",
   468                          "description": "Created user object",
   469                          "required": false,
   470                          "schema": {
   471                              "$ref": "#/definitions/User"
   472                          }
   473                      }
   474                  ],
   475                  "responses": {
   476                      "default": {
   477                          "description": "successful operation"
   478                      }
   479                  }
   480              }
   481          },
   482          "/users/createWithArray": {
   483              "post": {
   484                  "tags": [
   485                      "user"
   486                  ],
   487                  "summary": "Creates list of users with given input array",
   488                  "description": "",
   489                  "operationId": "createUsersWithArrayInput",
   490                  "produces": [
   491                      "application/json",
   492                      "application/xml"
   493                  ],
   494                  "parameters": [
   495                      {
   496                          "in": "body",
   497                          "name": "body",
   498                          "description": "List of user object",
   499                          "required": false,
   500                          "schema": {
   501                              "type": "array",
   502                              "items": {
   503                                  "$ref": "#/definitions/User"
   504                              }
   505                          }
   506                      }
   507                  ],
   508                  "responses": {
   509                      "default": {
   510                          "description": "successful operation"
   511                      }
   512                  }
   513              }
   514          },
   515          "/users/createWithList": {
   516              "post": {
   517                  "tags": [
   518                      "user"
   519                  ],
   520                  "summary": "Creates list of users with given input array",
   521                  "description": "",
   522                  "operationId": "createUsersWithListInput",
   523                  "produces": [
   524                      "application/json",
   525                      "application/xml"
   526                  ],
   527                  "parameters": [
   528                      {
   529                          "in": "body",
   530                          "name": "body",
   531                          "description": "List of user object",
   532                          "required": false,
   533                          "schema": {
   534                              "type": "array",
   535                              "items": {
   536                                  "$ref": "#/definitions/User"
   537                              }
   538                          }
   539                      }
   540                  ],
   541                  "responses": {
   542                      "default": {
   543                          "description": "successful operation"
   544                      }
   545                  }
   546              }
   547          },
   548          "/users/login": {
   549              "get": {
   550                  "tags": [
   551                      "user"
   552                  ],
   553                  "summary": "Logs user into the system",
   554                  "description": "",
   555                  "operationId": "loginUser",
   556                  "produces": [
   557                      "application/json",
   558                      "application/xml"
   559                  ],
   560                  "parameters": [
   561                      {
   562                          "in": "query",
   563                          "name": "username",
   564                          "description": "The user name for login",
   565                          "required": false,
   566                          "type": "string"
   567                      },
   568                      {
   569                          "in": "query",
   570                          "name": "password",
   571                          "description": "The password for login in clear text",
   572                          "required": false,
   573                          "type": "string"
   574                      }
   575                  ],
   576                  "responses": {
   577                      "200": {
   578                          "description": "successful operation",
   579                          "schema": {
   580                              "type": "string"
   581                          }
   582                      },
   583                      "400": {
   584                          "description": "Invalid username/password supplied"
   585                      }
   586                  }
   587              }
   588          },
   589          "/users/logout": {
   590              "get": {
   591                  "tags": [
   592                      "user"
   593                  ],
   594                  "summary": "Logs out current logged in user session",
   595                  "description": "",
   596                  "operationId": "logoutUser",
   597                  "produces": [
   598                      "application/json",
   599                      "application/xml"
   600                  ],
   601                  "responses": {
   602                      "default": {
   603                          "description": "successful operation"
   604                      }
   605                  }
   606              }
   607          },
   608          "/users/{username}": {
   609              "get": {
   610                  "tags": [
   611                      "user"
   612                  ],
   613                  "summary": "Get user by user name",
   614                  "description": "",
   615                  "operationId": "getUserByName",
   616                  "produces": [
   617                      "application/json",
   618                      "application/xml"
   619                  ],
   620                  "parameters": [
   621                      {
   622                          "in": "path",
   623                          "name": "username",
   624                          "description": "The name that needs to be fetched. Use user1 for testing.",
   625                          "required": true,
   626                          "type": "string"
   627                      }
   628                  ],
   629                  "responses": {
   630                      "200": {
   631                          "description": "successful operation",
   632                          "schema": {
   633                              "$ref": "#/definitions/User"
   634                          }
   635                      },
   636                      "400": {
   637                          "description": "Invalid username supplied"
   638                      },
   639                      "404": {
   640                          "description": "User not found"
   641                      }
   642                  }
   643              },
   644              "put": {
   645                  "tags": [
   646                      "user"
   647                  ],
   648                  "summary": "Updated user",
   649                  "description": "This can only be done by the logged in user.",
   650                  "operationId": "updateUser",
   651                  "produces": [
   652                      "application/json",
   653                      "application/xml"
   654                  ],
   655                  "parameters": [
   656                      {
   657                          "in": "path",
   658                          "name": "username",
   659                          "description": "name that need to be deleted",
   660                          "required": true,
   661                          "type": "string"
   662                      },
   663                      {
   664                          "in": "body",
   665                          "name": "body",
   666                          "description": "Updated user object",
   667                          "required": false,
   668                          "schema": {
   669                              "$ref": "#/definitions/User"
   670                          }
   671                      }
   672                  ],
   673                  "responses": {
   674                      "400": {
   675                          "description": "Invalid user supplied"
   676                      },
   677                      "404": {
   678                          "description": "User not found"
   679                      }
   680                  }
   681              },
   682              "delete": {
   683                  "tags": [
   684                      "user"
   685                  ],
   686                  "summary": "Delete user",
   687                  "description": "This can only be done by the logged in user.",
   688                  "operationId": "deleteUser",
   689                  "produces": [
   690                      "application/json",
   691                      "application/xml"
   692                  ],
   693                  "parameters": [
   694                      {
   695                          "in": "path",
   696                          "name": "username",
   697                          "description": "The name that needs to be deleted",
   698                          "required": true,
   699                          "type": "string"
   700                      }
   701                  ],
   702                  "responses": {
   703                      "400": {
   704                          "description": "Invalid username supplied"
   705                      },
   706                      "404": {
   707                          "description": "User not found"
   708                      }
   709                  }
   710              }
   711          }
   712      },
   713      "securityDefinitions": {
   714          "api_key": {
   715              "type": "apiKey",
   716              "name": "api_key",
   717              "in": "header"
   718          },
   719          "petstore_auth": {
   720              "type": "oauth2",
   721              "authorizationUrl": "http://petstore.swagger.wordnik.com/api/oauth/dialog",
   722              "flow": "implicit",
   723              "scopes": {
   724                  "write_pets": "modify pets in your account",
   725                  "read_pets": "read your pets"
   726              }
   727          }
   728      },
   729      "definitions": {
   730          "User": {
   731              "properties": {
   732                  "id": {
   733                      "type": "integer",
   734                      "format": "int64"
   735                  },
   736                  "username": {
   737                      "type": "string"
   738                  },
   739                  "firstName": {
   740                      "type": "string"
   741                  },
   742                  "lastName": {
   743                      "type": "string"
   744                  },
   745                  "email": {
   746                      "type": "string"
   747                  },
   748                  "password": {
   749                      "type": "string"
   750                  },
   751                  "phone": {
   752                      "type": "string"
   753                  },
   754                  "userStatus": {
   755                      "type": "integer",
   756                      "format": "int32",
   757                      "description": "User Status"
   758                  }
   759              }
   760          },
   761          "Category": {
   762              "properties": {
   763                  "id": {
   764                      "type": "integer",
   765                      "format": "int64"
   766                  },
   767                  "name": {
   768                      "type": "string"
   769                  }
   770              }
   771          },
   772          "Pet": {
   773              "required": [
   774                  "name",
   775                  "photoUrls"
   776              ],
   777              "properties": {
   778                  "id": {
   779                      "type": "integer",
   780                      "format": "int64"
   781                  },
   782                  "category": {
   783                      "$ref": "#/definitions/Category"
   784                  },
   785                  "name": {
   786                      "type": "string",
   787                      "example": "doggie"
   788                  },
   789                  "photoUrls": {
   790                      "type": "array",
   791                      "items": {
   792                          "type": "string"
   793                      }
   794                  },
   795                  "tags": {
   796                      "type": "array",
   797                      "items": {
   798                          "$ref": "#/definitions/Tag"
   799                      }
   800                  },
   801                  "status": {
   802                      "type": "string",
   803                      "description": "pet status in the store"
   804                  }
   805              }
   806          },
   807          "Tag": {
   808              "properties": {
   809                  "id": {
   810                      "type": "integer",
   811                      "format": "int64"
   812                  },
   813                  "name": {
   814                      "type": "string"
   815                  }
   816              }
   817          },
   818          "Order": {
   819              "properties": {
   820                  "id": {
   821                      "type": "integer",
   822                      "format": "int64"
   823                  },
   824                  "petId": {
   825                      "type": "integer",
   826                      "format": "int64"
   827                  },
   828                  "quantity": {
   829                      "type": "integer",
   830                      "format": "int32"
   831                  },
   832                  "shipDate": {
   833                      "type": "string",
   834                      "format": "date-time"
   835                  },
   836                  "status": {
   837                      "type": "string",
   838                      "description": "Order Status"
   839                  },
   840                  "complete": {
   841                      "type": "boolean"
   842                  }
   843              }
   844          }
   845      }
   846  }