{ "openapi" : "3.0.1", "info" : { "title" : "OpenAPI Petstore", "description" : "This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\", "license" : { "name" : "Apache-2.0", "url" : "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version" : "1.0.0" }, "servers" : [ { "url" : "http://petstore.swagger.io:80/v2" } ], "tags" : [ { "name" : "pet", "description" : "Everything about your Pets" }, { "name" : "store", "description" : "Access to Petstore orders" }, { "name" : "user", "description" : "Operations about user" } ], "paths" : { "/pet" : { "put" : { "tags" : [ "pet" ], "summary" : "Update an existing pet", "operationId" : "updatePet", "requestBody" : { "description" : "Pet object that needs to be added to the store", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet" } }, "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet" } } }, "required" : true }, "responses" : { "400" : { "description" : "Invalid ID supplied", "content" : { } }, "404" : { "description" : "Pet not found", "content" : { } }, "405" : { "description" : "Validation exception", "content" : { } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-contentType" : "application/json", "x-accepts" : "application/json" }, "post" : { "tags" : [ "pet" ], "summary" : "Add a new pet to the store", "operationId" : "addPet", "requestBody" : { "description" : "Pet object that needs to be added to the store", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet" } }, "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet" } } }, "required" : true }, "responses" : { "405" : { "description" : "Invalid input", "content" : { } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/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" : true, "style" : "form", "explode" : false, "schema" : { "type" : "array", "items" : { "type" : "string", "enum" : [ "available", "pending", "sold" ], "default" : "available" } } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/xml" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Pet" } } }, "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Pet" } } } } }, "400" : { "description" : "Invalid status value", "content" : { } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-accepts" : "application/json" } }, "/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" : true, "style" : "form", "explode" : false, "schema" : { "type" : "array", "items" : { "type" : "string" } } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/xml" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Pet" } } }, "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Pet" } } } } }, "400" : { "description" : "Invalid tag value", "content" : { } } }, "deprecated" : true, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-accepts" : "application/json" } }, "/pet/{petId}" : { "get" : { "tags" : [ "pet" ], "summary" : "Find pet by ID", "description" : "Returns a single pet", "operationId" : "getPetById", "parameters" : [ { "name" : "petId", "in" : "path", "description" : "ID of pet to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet" } }, "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet" } } } }, "400" : { "description" : "Invalid ID supplied", "content" : { } }, "404" : { "description" : "Pet not found", "content" : { } } }, "security" : [ { "api_key" : [ ] } ], "x-accepts" : "application/json" }, "post" : { "tags" : [ "pet" ], "summary" : "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" } } ], "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "properties" : { "name" : { "type" : "string", "description" : "Updated name of the pet" }, "status" : { "type" : "string", "description" : "Updated status of the pet" } } } } } }, "responses" : { "405" : { "description" : "Invalid input", "content" : { } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-contentType" : "application/x-www-form-urlencoded", "x-accepts" : "application/json" }, "delete" : { "tags" : [ "pet" ], "summary" : "Deletes a pet", "operationId" : "deletePet", "parameters" : [ { "name" : "api_key", "in" : "header", "schema" : { "type" : "string" } }, { "name" : "petId", "in" : "path", "description" : "Pet id to delete", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "400" : { "description" : "Invalid pet value", "content" : { } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-accepts" : "application/json" } }, "/pet/{petId}/uploadImage" : { "post" : { "tags" : [ "pet" ], "summary" : "uploads an image", "operationId" : "uploadFile", "parameters" : [ { "name" : "petId", "in" : "path", "description" : "ID of pet to update", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "requestBody" : { "content" : { "multipart/form-data" : { "schema" : { "properties" : { "additionalMetadata" : { "type" : "string", "description" : "Additional data to pass to server" }, "file" : { "type" : "string", "description" : "file to upload", "format" : "binary" } } } } } }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ApiResponse" } } } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-contentType" : "multipart/form-data", "x-accepts" : "application/json" } }, "/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" : [ ] } ], "x-accepts" : "application/json" } }, "/store/order" : { "post" : { "tags" : [ "store" ], "summary" : "Place an order for a pet", "operationId" : "placeOrder", "requestBody" : { "description" : "order placed for purchasing the pet", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Order" } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Order" } }, "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } } } }, "400" : { "description" : "Invalid Order", "content" : { } } }, "x-contentType" : "*/*", "x-accepts" : "application/json" } }, "/store/order/{order_id}" : { "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" : "order_id", "in" : "path", "description" : "ID of pet that needs to be fetched", "required" : true, "schema" : { "maximum" : 5, "minimum" : 1, "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Order" } }, "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } } } }, "400" : { "description" : "Invalid ID supplied", "content" : { } }, "404" : { "description" : "Order not found", "content" : { } } }, "x-accepts" : "application/json" }, "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" : "order_id", "in" : "path", "description" : "ID of the order that needs to be deleted", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "400" : { "description" : "Invalid ID supplied", "content" : { } }, "404" : { "description" : "Order not found", "content" : { } } }, "x-accepts" : "application/json" } }, "/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" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/User" } } }, "required" : true }, "responses" : { "default" : { "description" : "successful operation", "content" : { } } }, "x-contentType" : "*/*", "x-accepts" : "application/json" } }, "/user/createWithArray" : { "post" : { "tags" : [ "user" ], "summary" : "Creates list of users with given input array", "operationId" : "createUsersWithArrayInput", "requestBody" : { "description" : "List of user object", "content" : { "*/*" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/User" } } } }, "required" : true }, "responses" : { "default" : { "description" : "successful operation", "content" : { } } }, "x-contentType" : "*/*", "x-accepts" : "application/json" } }, "/user/createWithList" : { "post" : { "tags" : [ "user" ], "summary" : "Creates list of users with given input array", "operationId" : "createUsersWithListInput", "requestBody" : { "description" : "List of user object", "content" : { "*/*" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/User" } } } }, "required" : true }, "responses" : { "default" : { "description" : "successful operation", "content" : { } } }, "x-contentType" : "*/*", "x-accepts" : "application/json" } }, "/user/login" : { "get" : { "tags" : [ "user" ], "summary" : "Logs user into the system", "operationId" : "loginUser", "parameters" : [ { "name" : "username", "in" : "query", "description" : "The user name for login", "required" : true, "schema" : { "type" : "string" } }, { "name" : "password", "in" : "query", "description" : "The password for login in clear text", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "successful operation", "headers" : { "X-Rate-Limit" : { "description" : "calls per hour allowed by the user", "schema" : { "type" : "integer", "format" : "int32" } }, "X-Expires-After" : { "description" : "date in UTC when token expires", "schema" : { "type" : "string", "format" : "date-time" } } }, "content" : { "application/xml" : { "schema" : { "type" : "string" } }, "application/json" : { "schema" : { "type" : "string" } } } }, "400" : { "description" : "Invalid username/password supplied", "content" : { } } }, "x-accepts" : "application/json" } }, "/user/logout" : { "get" : { "tags" : [ "user" ], "summary" : "Logs out current logged in user session", "operationId" : "logoutUser", "responses" : { "default" : { "description" : "successful operation", "content" : { } } }, "x-accepts" : "application/json" } }, "/user/{username}" : { "get" : { "tags" : [ "user" ], "summary" : "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" } } ], "responses" : { "200" : { "description" : "successful operation", "content" : { "application/xml" : { "schema" : { "$ref" : "#/components/schemas/User" } }, "application/json" : { "schema" : { "$ref" : "#/components/schemas/User" } } } }, "400" : { "description" : "Invalid username supplied", "content" : { } }, "404" : { "description" : "User not found", "content" : { } } }, "x-accepts" : "application/json" }, "put" : { "tags" : [ "user" ], "summary" : "Updated user", "description" : "This can only be done by the logged in user.", "operationId" : "updateUser", "parameters" : [ { "name" : "username", "in" : "path", "description" : "name that need to be deleted", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "description" : "Updated user object", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/User" } } }, "required" : true }, "responses" : { "400" : { "description" : "Invalid user supplied", "content" : { } }, "404" : { "description" : "User not found", "content" : { } } }, "x-contentType" : "*/*", "x-accepts" : "application/json" }, "delete" : { "tags" : [ "user" ], "summary" : "Delete user", "description" : "This can only be done by the logged in user.", "operationId" : "deleteUser", "parameters" : [ { "name" : "username", "in" : "path", "description" : "The name that needs to be deleted", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "400" : { "description" : "Invalid username supplied", "content" : { } }, "404" : { "description" : "User not found", "content" : { } } }, "x-accepts" : "application/json" } }, "/fake_classname_test" : { "patch" : { "tags" : [ "fake_classname_tags 123#$%^" ], "summary" : "To test class name in snake case", "description" : "To test class name in snake case", "operationId" : "testClassname", "requestBody" : { "description" : "client model", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Client" } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Client" } } } } }, "security" : [ { "api_key_query" : [ ] } ], "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/fake" : { "get" : { "tags" : [ "fake" ], "summary" : "To test enum parameters", "description" : "To test enum parameters", "operationId" : "testEnumParameters", "parameters" : [ { "name" : "enum_header_string_array", "in" : "header", "description" : "Header parameter enum test (string array)", "style" : "simple", "explode" : false, "schema" : { "type" : "array", "items" : { "type" : "string", "enum" : [ ">", "$" ], "default" : "$" } } }, { "name" : "enum_header_string", "in" : "header", "description" : "Header parameter enum test (string)", "schema" : { "type" : "string", "enum" : [ "_abc", "-efg", "(xyz)" ], "default" : "-efg" } }, { "name" : "enum_query_string_array", "in" : "query", "description" : "Query parameter enum test (string array)", "style" : "form", "explode" : false, "schema" : { "type" : "array", "items" : { "type" : "string", "enum" : [ ">", "$" ], "default" : "$" } } }, { "name" : "enum_query_string", "in" : "query", "description" : "Query parameter enum test (string)", "schema" : { "type" : "string", "enum" : [ "_abc", "-efg", "(xyz)" ], "default" : "-efg" } }, { "name" : "enum_query_integer", "in" : "query", "description" : "Query parameter enum test (double)", "schema" : { "type" : "integer", "format" : "int32", "enum" : [ 1, -2 ] } }, { "name" : "enum_query_double", "in" : "query", "description" : "Query parameter enum test (double)", "schema" : { "type" : "number", "format" : "double", "enum" : [ 1.1, -1.2 ] } } ], "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "properties" : { "enum_form_string_array" : { "type" : "array", "description" : "Form parameter enum test (string array)", "items" : { "type" : "string", "enum" : [ ">", "$" ], "default" : "$" } }, "enum_form_string" : { "type" : "string", "description" : "Form parameter enum test (string)", "enum" : [ "_abc", "-efg", "(xyz)" ], "default" : "-efg" } } } } } }, "responses" : { "400" : { "description" : "Invalid request", "content" : { } }, "404" : { "description" : "Not found", "content" : { } } }, "x-contentType" : "application/x-www-form-urlencoded", "x-accepts" : "application/json" }, "post" : { "tags" : [ "fake" ], "summary" : "Fake endpoint for testing various parameters\n假端點\n偽のエンドポイント\n가짜 엔드 포인트\n", "description" : "Fake endpoint for testing various parameters\n假端點\n偽のエンドポイント\n가짜 엔드 포인트\n", "operationId" : "testEndpointParameters", "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "required" : [ "byte", "double", "number", "pattern_without_delimiter" ], "properties" : { "integer" : { "maximum" : 100, "minimum" : 10, "type" : "integer", "description" : "None" }, "int32" : { "maximum" : 200, "minimum" : 20, "type" : "integer", "description" : "None", "format" : "int32" }, "int64" : { "type" : "integer", "description" : "None", "format" : "int64" }, "number" : { "maximum" : 543.2, "minimum" : 32.1, "type" : "number", "description" : "None" }, "float" : { "maximum" : 987.6, "type" : "number", "description" : "None", "format" : "float" }, "double" : { "maximum" : 123.4, "minimum" : 67.8, "type" : "number", "description" : "None", "format" : "double" }, "string" : { "pattern" : "/[a-z]/i", "type" : "string", "description" : "None" }, "pattern_without_delimiter" : { "pattern" : "^[A-Z].*", "type" : "string", "description" : "None" }, "byte" : { "type" : "string", "description" : "None", "format" : "byte" }, "binary" : { "type" : "string", "description" : "None", "format" : "binary" }, "date" : { "type" : "string", "description" : "None", "format" : "date" }, "dateTime" : { "type" : "string", "description" : "None", "format" : "date-time" }, "password" : { "maxLength" : 64, "minLength" : 10, "type" : "string", "description" : "None", "format" : "password" }, "callback" : { "type" : "string", "description" : "None" } } } } }, "required" : true }, "responses" : { "400" : { "description" : "Invalid username supplied", "content" : { } }, "404" : { "description" : "User not found", "content" : { } } }, "security" : [ { "http_basic_test" : [ ] } ], "x-contentType" : "application/x-www-form-urlencoded", "x-accepts" : "application/json" }, "patch" : { "tags" : [ "fake" ], "summary" : "To test \"client\" model", "description" : "To test \"client\" model", "operationId" : "testClientModel", "requestBody" : { "description" : "client model", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Client" } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Client" } } } } }, "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/fake/outer/number" : { "post" : { "tags" : [ "fake" ], "description" : "Test serialization of outer number types", "operationId" : "fakeOuterNumberSerialize", "requestBody" : { "description" : "Input number as post body", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterNumber" } } }, "required" : false }, "responses" : { "200" : { "description" : "Output number", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterNumber" } } } } }, "x-contentType" : "*/*", "x-accepts" : "*/*" } }, "/fake/outer/string" : { "post" : { "tags" : [ "fake" ], "description" : "Test serialization of outer string types", "operationId" : "fakeOuterStringSerialize", "requestBody" : { "description" : "Input string as post body", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterString" } } }, "required" : false }, "responses" : { "200" : { "description" : "Output string", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterString" } } } } }, "x-contentType" : "*/*", "x-accepts" : "*/*" } }, "/fake/outer/boolean" : { "post" : { "tags" : [ "fake" ], "description" : "Test serialization of outer boolean types", "operationId" : "fakeOuterBooleanSerialize", "requestBody" : { "description" : "Input boolean as post body", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterBoolean" } } }, "required" : false }, "responses" : { "200" : { "description" : "Output boolean", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterBoolean" } } } } }, "x-contentType" : "*/*", "x-accepts" : "*/*" } }, "/fake/outer/composite" : { "post" : { "tags" : [ "fake" ], "description" : "Test serialization of object with outer number type", "operationId" : "fakeOuterCompositeSerialize", "requestBody" : { "description" : "Input composite as post body", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterComposite" } } }, "required" : false }, "responses" : { "200" : { "description" : "Output composite", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/OuterComposite" } } } } }, "x-contentType" : "*/*", "x-accepts" : "*/*" } }, "/fake/jsonFormData" : { "get" : { "tags" : [ "fake" ], "summary" : "test json serialization of form data", "operationId" : "testJsonFormData", "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "required" : [ "param", "param2" ], "properties" : { "param" : { "type" : "string", "description" : "field1" }, "param2" : { "type" : "string", "description" : "field2" } } } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { } } }, "x-contentType" : "application/x-www-form-urlencoded", "x-accepts" : "application/json" } }, "/fake/inline-additionalProperties" : { "post" : { "tags" : [ "fake" ], "summary" : "test inline additionalProperties", "operationId" : "testInlineAdditionalProperties", "requestBody" : { "description" : "request body", "content" : { "application/json" : { "schema" : { "type" : "object", "additionalProperties" : { "type" : "string" } } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { } } }, "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/fake/body-with-query-params" : { "put" : { "tags" : [ "fake" ], "operationId" : "testBodyWithQueryParams", "parameters" : [ { "name" : "query", "in" : "query", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/User" } } }, "required" : true }, "responses" : { "200" : { "description" : "Success", "content" : { } } }, "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/another-fake/dummy" : { "patch" : { "tags" : [ "$another-fake?" ], "summary" : "To test special tags", "description" : "To test special tags", "operationId" : "test_special_tags", "requestBody" : { "description" : "client model", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Client" } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Client" } } } } }, "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/fake/body-with-file-schema" : { "put" : { "tags" : [ "fake" ], "description" : "For this test, the body for this request much reference a schema named `File`.", "operationId" : "testBodyWithFileSchema", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FileSchemaTestClass" } } }, "required" : true }, "responses" : { "200" : { "description" : "Success", "content" : { } } }, "x-contentType" : "application/json", "x-accepts" : "application/json" } }, "/fake/{petId}/uploadImageWithRequiredFile" : { "post" : { "tags" : [ "pet" ], "summary" : "uploads an image (required)", "operationId" : "uploadFileWithRequiredFile", "parameters" : [ { "name" : "petId", "in" : "path", "description" : "ID of pet to update", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "requestBody" : { "content" : { "multipart/form-data" : { "schema" : { "required" : [ "file" ], "properties" : { "additionalMetadata" : { "type" : "string", "description" : "Additional data to pass to server" }, "file" : { "type" : "string", "description" : "file to upload", "format" : "binary" } } } } }, "required" : true }, "responses" : { "200" : { "description" : "successful operation", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ApiResponse" } } } } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ], "x-contentType" : "multipart/form-data", "x-accepts" : "application/json" } } }, "components" : { "schemas" : { "Category" : { "type" : "object", "properties" : { "id" : { "type" : "integer", "format" : "int64" }, "name" : { "type" : "string" } }, "example" : { "name" : "name", "id" : 6 }, "xml" : { "name" : "Category" } }, "User" : { "type" : "object", "properties" : { "id" : { "type" : "integer", "format" : "int64", "x-is-unique" : true }, "username" : { "type" : "string" }, "firstName" : { "type" : "string" }, "lastName" : { "type" : "string" }, "email" : { "type" : "string" }, "password" : { "type" : "string" }, "phone" : { "type" : "string" }, "userStatus" : { "type" : "integer", "description" : "User Status", "format" : "int32" } }, "example" : { "firstName" : "firstName", "lastName" : "lastName", "password" : "password", "userStatus" : 6, "phone" : "phone", "id" : 0, "email" : "email", "username" : "username" }, "xml" : { "name" : "User" } }, "OuterNumber" : { "type" : "number" }, "ArrayOfNumberOnly" : { "type" : "object", "properties" : { "ArrayNumber" : { "type" : "array", "items" : { "type" : "number" } } } }, "Capitalization" : { "type" : "object", "properties" : { "smallCamel" : { "type" : "string" }, "CapitalCamel" : { "type" : "string" }, "small_Snake" : { "type" : "string" }, "Capital_Snake" : { "type" : "string" }, "SCA_ETH_Flow_Points" : { "type" : "string" }, "ATT_NAME" : { "type" : "string", "description" : "Name of the pet\n" } } }, "MixedPropertiesAndAdditionalPropertiesClass" : { "type" : "object", "properties" : { "uuid" : { "type" : "string", "format" : "uuid" }, "dateTime" : { "type" : "string", "format" : "date-time" }, "map" : { "type" : "object", "additionalProperties" : { "$ref" : "#/components/schemas/Animal" } } } }, "ApiResponse" : { "type" : "object", "properties" : { "code" : { "type" : "integer", "format" : "int32" }, "type" : { "type" : "string" }, "message" : { "type" : "string" } }, "example" : { "code" : 0, "type" : "type", "message" : "message" } }, "Name" : { "required" : [ "name" ], "type" : "object", "properties" : { "name" : { "type" : "integer", "format" : "int32" }, "snake_case" : { "type" : "integer", "format" : "int32", "readOnly" : true }, "property" : { "type" : "string" }, "123Number" : { "type" : "integer", "readOnly" : true } }, "description" : "Model for testing model name same as property name", "xml" : { "name" : "Name" } }, "EnumClass" : { "type" : "string", "enum" : [ "_abc", "-efg", "(xyz)" ], "default" : "-efg" }, "List" : { "type" : "object", "properties" : { "123-list" : { "type" : "string" } }, "example" : { "123-list" : "123-list" } }, "NumberOnly" : { "type" : "object", "properties" : { "JustNumber" : { "type" : "number" } } }, "200_response" : { "type" : "object", "properties" : { "name" : { "type" : "integer", "format" : "int32" }, "class" : { "type" : "string" } }, "description" : "Model for testing model name starting with number", "xml" : { "name" : "Name" } }, "Client" : { "type" : "object", "properties" : { "client" : { "type" : "string" } }, "example" : { "client" : "client" } }, "Dog" : { "allOf" : [ { "$ref" : "#/components/schemas/Animal" }, { "type" : "object", "properties" : { "breed" : { "type" : "string" } } } ] }, "Enum_Test" : { "required" : [ "enum_string_required" ], "type" : "object", "properties" : { "enum_string" : { "type" : "string", "enum" : [ "UPPER", "lower", "" ] }, "enum_string_required" : { "type" : "string", "enum" : [ "UPPER", "lower", "" ] }, "enum_integer" : { "type" : "integer", "format" : "int32", "enum" : [ 1, -1 ] }, "enum_number" : { "type" : "number", "format" : "double", "enum" : [ 1.1, -1.2 ] }, "outerEnum" : { "$ref" : "#/components/schemas/OuterEnum" } } }, "Order" : { "type" : "object", "properties" : { "id" : { "type" : "integer", "format" : "int64" }, "petId" : { "type" : "integer", "format" : "int64" }, "quantity" : { "type" : "integer", "format" : "int32" }, "shipDate" : { "type" : "string", "format" : "date-time" }, "status" : { "type" : "string", "description" : "Order Status", "enum" : [ "placed", "approved", "delivered" ] }, "complete" : { "type" : "boolean", "default" : false } }, "example" : { "petId" : 6, "quantity" : 1, "id" : 0, "shipDate" : "2000-01-23T04:56:07.000+00:00", "complete" : false, "status" : "placed" }, "xml" : { "name" : "Order" } }, "AdditionalPropertiesClass" : { "type" : "object", "properties" : { "map_property" : { "type" : "object", "additionalProperties" : { "type" : "string" } }, "map_of_map_property" : { "type" : "object", "additionalProperties" : { "type" : "object", "additionalProperties" : { "type" : "string" } } } } }, "$special[model.name]" : { "type" : "object", "properties" : { "$special[property.name]" : { "type" : "integer", "format" : "int64" } }, "xml" : { "name" : "$special[model.name]" } }, "Return" : { "type" : "object", "properties" : { "return" : { "type" : "integer", "format" : "int32" } }, "description" : "Model for testing reserved words", "xml" : { "name" : "Return" } }, "ReadOnlyFirst" : { "type" : "object", "properties" : { "bar" : { "type" : "string", "readOnly" : true }, "baz" : { "type" : "string" } } }, "ArrayOfArrayOfNumberOnly" : { "type" : "object", "properties" : { "ArrayArrayNumber" : { "type" : "array", "items" : { "type" : "array", "items" : { "type" : "number" } } } } }, "OuterEnum" : { "type" : "string", "enum" : [ "placed", "approved", "delivered" ] }, "ArrayTest" : { "type" : "object", "properties" : { "array_of_string" : { "type" : "array", "items" : { "type" : "string" } }, "array_array_of_integer" : { "type" : "array", "items" : { "type" : "array", "items" : { "type" : "integer", "format" : "int64" } } }, "array_array_of_model" : { "type" : "array", "items" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ReadOnlyFirst" } } } } }, "OuterComposite" : { "type" : "object", "properties" : { "my_number" : { "type" : "number" }, "my_string" : { "type" : "string" }, "my_boolean" : { "type" : "boolean", "x-codegen-body-parameter-name" : "boolean_post_body" } }, "example" : { "my_string" : "my_string", "my_number" : 0.80082819046101150206595775671303272247314453125, "my_boolean" : true } }, "format_test" : { "required" : [ "byte", "date", "number", "password" ], "type" : "object", "properties" : { "integer" : { "maximum" : 1E+2, "minimum" : 1E+1, "type" : "integer" }, "int32" : { "maximum" : 2E+2, "minimum" : 2E+1, "type" : "integer", "format" : "int32" }, "int64" : { "type" : "integer", "format" : "int64" }, "number" : { "maximum" : 543.2, "minimum" : 32.1, "type" : "number" }, "float" : { "maximum" : 987.6, "minimum" : 54.3, "type" : "number", "format" : "float" }, "double" : { "maximum" : 123.4, "minimum" : 67.8, "type" : "number", "format" : "double" }, "string" : { "pattern" : "/[a-z]/i", "type" : "string" }, "byte" : { "pattern" : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type" : "string", "format" : "byte" }, "binary" : { "type" : "string", "format" : "binary" }, "date" : { "type" : "string", "format" : "date" }, "dateTime" : { "type" : "string", "format" : "date-time" }, "uuid" : { "type" : "string", "format" : "uuid" }, "password" : { "maxLength" : 64, "minLength" : 10, "type" : "string", "format" : "password" } } }, "EnumArrays" : { "type" : "object", "properties" : { "just_symbol" : { "type" : "string", "enum" : [ ">=", "$" ] }, "array_enum" : { "type" : "array", "items" : { "type" : "string", "enum" : [ "fish", "crab" ] } } } }, "OuterString" : { "type" : "string" }, "ClassModel" : { "type" : "object", "properties" : { "_class" : { "type" : "string" } }, "description" : "Model for testing model with \"_class\" property" }, "OuterBoolean" : { "type" : "boolean", "x-codegen-body-parameter-name" : "boolean_post_body" }, "FileSchemaTestClass" : { "type" : "object", "properties" : { "file" : { "$ref" : "#/components/schemas/File" }, "files" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/File" } } }, "example" : { "file" : { "sourceURI" : "sourceURI" }, "files" : [ { "sourceURI" : "sourceURI" }, { "sourceURI" : "sourceURI" } ] } }, "Animal" : { "required" : [ "className" ], "type" : "object", "properties" : { "className" : { "type" : "string" }, "color" : { "type" : "string", "default" : "red" } }, "discriminator" : { "propertyName" : "className" } }, "StringBooleanMap" : { "type" : "object", "additionalProperties" : { "type" : "boolean" } }, "Cat" : { "allOf" : [ { "$ref" : "#/components/schemas/Animal" }, { "type" : "object", "properties" : { "declawed" : { "type" : "boolean" } } } ] }, "MapTest" : { "type" : "object", "properties" : { "map_map_of_string" : { "type" : "object", "additionalProperties" : { "type" : "object", "additionalProperties" : { "type" : "string" } } }, "map_of_enum_string" : { "type" : "object", "additionalProperties" : { "type" : "string", "enum" : [ "UPPER", "lower" ] } }, "direct_map" : { "type" : "object", "additionalProperties" : { "type" : "boolean" } }, "indirect_map" : { "$ref" : "#/components/schemas/StringBooleanMap" } } }, "Tag" : { "type" : "object", "properties" : { "id" : { "type" : "integer", "format" : "int64" }, "name" : { "type" : "string" } }, "example" : { "name" : "name", "id" : 1 }, "xml" : { "name" : "Tag" } }, "AnimalFarm" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Animal" } }, "File" : { "type" : "object", "properties" : { "sourceURI" : { "type" : "string", "description" : "Test capitalization" } }, "example" : { "sourceURI" : "sourceURI" } }, "Pet" : { "required" : [ "name", "photoUrls" ], "type" : "object", "properties" : { "id" : { "type" : "integer", "format" : "int64", "x-is-unique" : true }, "category" : { "$ref" : "#/components/schemas/Category" }, "name" : { "type" : "string", "example" : "doggie" }, "photoUrls" : { "type" : "array", "xml" : { "name" : "photoUrl", "wrapped" : true }, "items" : { "type" : "string" } }, "tags" : { "type" : "array", "xml" : { "name" : "tag", "wrapped" : true }, "items" : { "$ref" : "#/components/schemas/Tag" } }, "status" : { "type" : "string", "description" : "pet status in the store", "enum" : [ "available", "pending", "sold" ] } }, "example" : { "photoUrls" : [ "photoUrls", "photoUrls" ], "name" : "doggie", "id" : 0, "category" : { "name" : "name", "id" : 6 }, "tags" : [ { "name" : "name", "id" : 1 }, { "name" : "name", "id" : 1 } ], "status" : "available" }, "xml" : { "name" : "Pet" } }, "hasOnlyReadOnly" : { "type" : "object", "properties" : { "bar" : { "type" : "string", "readOnly" : true }, "foo" : { "type" : "string", "readOnly" : true } } } }, "securitySchemes" : { "petstore_auth" : { "type" : "oauth2", "flows" : { "implicit" : { "authorizationUrl" : "http://petstore.swagger.io/api/oauth/dialog", "scopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" } } } }, "http_basic_test" : { "type" : "http", "scheme" : "basic" }, "api_key" : { "type" : "apiKey", "name" : "api_key", "in" : "header" }, "api_key_query" : { "type" : "apiKey", "name" : "api_key_query", "in" : "query" } } } }