{"openapi": "3.0.0", "info": {"title": "Djagger Toy Store", "description": "This is a sample OpenAPI 3.0 schema generated from a Django project using Djagger. \n\nView the Django project that generated this document on Github: https://github.com/royhzq/djagger-example.\n\n ", "termsOfService": "", "contact": {"url": "", "email": "example@example.com"}, "license": {"name": "MIT", "url": ""}, "version": "1.0.0"}, "servers": [{"url": "https://example.org", "description": "Production API server"}, {"url": "https://staging.example.org", "description": "Staging API server"}], "paths": {"/toy/": {"put": {"tags": ["Toy"], "summary": "Update an existing toy", "description": "Update an existing Toy by Id", "parameters": [], "requestBody": {"description": "Toy Schema", "content": {"application/json": {"schema": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"], "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}, "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}}, "required": false}, "responses": {"200": {"description": "Toy Schema", "content": {"application/json": {"schema": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"], "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}, "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}}}, "400": {"description": "Validation Error", "content": {"application/json": {"schema": {"title": "InvalidToySchema", "description": "Validation Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}, "404": {"description": "Not Found Error", "content": {"application/json": {"schema": {"title": "ToyNotFoundSchema", "description": "Not Found Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}}}, "post": {"tags": ["Toy"], "summary": "Add a new toy to the store", "description": "Add a new Toy to the store", "parameters": [], "requestBody": {"description": "Toy Schema", "content": {"application/json": {"schema": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"], "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}, "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}}, "required": false}, "responses": {"200": {"description": "Toy Schema", "content": {"application/json": {"schema": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"], "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}, "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}}}}}, "parameters": []}, "/toy/findByStatus": {"summary": "Find Toys by status", "get": {"tags": ["Toy"], "summary": "Find Toys by status", "description": " Find Toys by status", "parameters": [{"name": "status", "in": "query", "description": "Enum of status", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"description": "Enum of status", "default": "available", "enum": ["available", "pending", "sold"], "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}], "title": "status"}}], "responses": {"200": {"description": "An array of Toys", "content": {"application/json": {"schema": {"title": "ToyArraySchema", "description": "An array of Toys", "type": "array", "items": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"]}}}}}, "400": {"description": "Validation Error", "content": {"application/json": {"schema": {"title": "InvalidToySchema", "description": "Validation Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}}}, "parameters": []}, "/toy/findByTags": {"summary": "Find Toys by tags", "get": {"tags": ["Toy"], "summary": "Find Toys by tags", "description": "Multiple tags can be provided with comma separated strings. e.g., ?tags=tag1,tag2", "parameters": [{"name": "tags", "in": "query", "description": "Relevant tags", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "tags", "description": "Relevant tags", "example": ["Dog", "Cat"], "type": "array", "items": {"type": "string"}}}], "responses": {"200": {"description": "An array of Toys", "content": {"application/json": {"schema": {"title": "ToyArraySchema", "description": "An array of Toys", "type": "array", "items": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"]}}}}}, "400": {"description": "Validation Error", "content": {"application/json": {"schema": {"title": "InvalidToySchema", "description": "Validation Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}}}, "parameters": []}, "/toy/{toyId}": {"get": {"tags": ["Toy"], "summary": "Find Toy by ID", "description": "", "parameters": [{"name": "toyId", "in": "path", "description": "ID of Toy to return", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "toyId", "description": "ID of Toy to return", "type": "integer"}}], "responses": {"200": {"description": "Toy Schema", "content": {"application/json": {"schema": {"title": "ToySchema", "description": "Toy Schema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}, "category": {"title": "Category", "description": "Toy Category", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}, "photoUrls": {"title": "Photourls", "type": "array", "items": {"type": "string"}}, "tags": {"title": "Tags", "type": "array", "items": {"title": "Tag", "description": "Toy Tag", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string"}}, "required": ["id", "name"]}}, "status": {"default": "available", "allOf": [{"title": "Status", "description": "An enumeration.", "enum": ["available", "pending", "sold"], "type": "string"}]}}, "required": ["name", "photoUrls"], "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}, "example": {"id": 10, "name": "doggie", "category": {"id": 1, "name": "Dogs"}, "photoUrls": ["string"], "tags": [{"id": 0, "name": "string"}], "status": "available"}}}}, "400": {"description": "Validation Error", "content": {"application/json": {"schema": {"title": "InvalidToySchema", "description": "Validation Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}, "404": {"description": "Not Found Error", "content": {"application/json": {"schema": {"title": "ToyNotFoundSchema", "description": "Not Found Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}}}, "post": {"tags": ["Toy"], "summary": "Update Toy with form data", "description": "", "parameters": [{"name": "toyId", "in": "path", "description": "ID of Toy to return", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "toyId", "description": "ID of Toy to return", "type": "integer"}}, {"name": "name", "in": "query", "description": "Name of Toy to update", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "name", "description": "Name of Toy to update", "type": "string"}}, {"name": "status", "in": "query", "description": "Status of Toy to update", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "status", "description": "Status of Toy to update", "type": "string"}}], "responses": {"405": {"description": "Validation Error", "content": {"application/json": {"schema": {"title": "InvalidToySchema", "description": "Validation Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}}}, "delete": {"tags": ["Toy"], "summary": "Deletes a Toy", "description": "", "parameters": [{"name": "toyId", "in": "path", "description": "ID of Toy to return", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "toyId", "description": "ID of Toy to return", "type": "integer"}}, {"name": "api_key", "in": "header", "description": "", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "api_key", "type": "string"}}], "responses": {"400": {"description": "Validation Error", "content": {"application/json": {"schema": {"title": "InvalidToySchema", "description": "Validation Error", "type": "object", "properties": {"message": {"title": "Message", "type": "array", "items": {"type": "string"}}}, "required": ["message"]}}}}}}, "parameters": []}, "/toy/{toyId}/uploadImage": {"summary": "Uploads an image", "post": {"tags": ["Toy"], "summary": "Uploads an image", "description": "", "parameters": [{"name": "toyId", "in": "path", "description": "ID of Toy to return", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "toyId", "description": "ID of Toy to return", "type": "integer"}}, {"name": "additionalMetadata", "in": "query", "description": "", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "additionalMetadata", "type": "string"}}], "requestBody": {"description": "", "content": {"application/octet-stream": {"schema": {"title": "ToyUploadImageSchema", "description": "Example values are not available for application/octet-stream media types.", "type": "string", "format": "binary"}}}, "required": false}, "responses": {"200": {"description": "Successful operation for image uploading", "content": {"application/json": {"schema": {"title": "ToyUploadImageSuccessSchema", "description": "Successful operation for image uploading", "type": "object", "properties": {"code": {"title": "Code", "type": "integer"}, "type": {"title": "Type", "type": "string"}, "message": {"title": "Message", "type": "string"}}, "required": ["code", "type", "message"]}}}}}}, "parameters": []}, "/store/inventory": {"summary": "Returns toy inventories by status", "get": {"tags": ["Store"], "summary": "Returns toy inventories by status", "description": "", "parameters": [], "responses": {"200": {"description": "A map of status codes to quantities", "content": {"application/json": {"schema": {"title": "InventoryByStatusSchema", "description": "A map of status codes to quantities", "type": "object", "additionalProperties": {"type": "integer"}}}}}}}, "parameters": []}, "/store/order": {"summary": "Place an order for a toy", "post": {"tags": ["Store"], "summary": "Place an order for a toy", "description": "", "parameters": [], "requestBody": {"content": {"application/json": {"schema": {"title": "OrderSchema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "toyId": {"title": "Toyid", "type": "integer"}, "quantity": {"title": "Quantity", "type": "integer"}, "shipDate": {"title": "Shipdate", "type": "string", "format": "date-time"}, "status": {"title": "OrderStatus", "description": "An enumeration.", "enum": ["placed", "approved", "delivered"], "type": "string"}, "complete": {"title": "Complete", "type": "boolean"}}, "required": ["id", "toyId", "quantity", "shipDate", "status", "complete"]}}}, "required": false}, "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "OrderSchema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "toyId": {"title": "Toyid", "type": "integer"}, "quantity": {"title": "Quantity", "type": "integer"}, "shipDate": {"title": "Shipdate", "type": "string", "format": "date-time"}, "status": {"title": "OrderStatus", "description": "An enumeration.", "enum": ["placed", "approved", "delivered"], "type": "string"}, "complete": {"title": "Complete", "type": "boolean"}}, "required": ["id", "toyId", "quantity", "shipDate", "status", "complete"]}}}}, "405": {"description": "Invalid Input", "content": {"application/json": {"schema": {"title": "InvalidInputSchema", "description": "Invalid Input", "type": "object", "properties": {}}}}}}}, "parameters": []}, "/store/order/{orderId}": {"get": {"tags": ["Store"], "summary": "Find purchase order by ID", "description": "", "parameters": [{"name": "orderId", "in": "path", "description": "ID of order that needs to be fetched", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "orderId", "description": "ID of order that needs to be fetched", "type": "integer"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "OrderSchema", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "toyId": {"title": "Toyid", "type": "integer"}, "quantity": {"title": "Quantity", "type": "integer"}, "shipDate": {"title": "Shipdate", "type": "string", "format": "date-time"}, "status": {"title": "OrderStatus", "description": "An enumeration.", "enum": ["placed", "approved", "delivered"], "type": "string"}, "complete": {"title": "Complete", "type": "boolean"}}, "required": ["id", "toyId", "quantity", "shipDate", "status", "complete"]}}}}, "404": {"description": "Invalid Input", "content": {"application/json": {"schema": {"title": "NotFoundSchema", "description": "Invalid Input", "default": "Not found", "type": "string"}}}}, "400": {"description": "Invalid Input", "content": {"application/json": {"schema": {"title": "InvalidInputSchema", "description": "Invalid Input", "type": "object", "properties": {}}}}}}}, "delete": {"tags": ["Store"], "summary": "Delete purchase order by ID", "description": "", "parameters": [{"name": "orderId", "in": "path", "description": "ID of order that needs to be fetched", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "orderId", "description": "ID of order that needs to be fetched", "type": "integer"}}], "responses": {"404": {"description": "Invalid Input", "content": {"application/json": {"schema": {"title": "NotFoundSchema", "description": "Invalid Input", "default": "Not found", "type": "string"}}}}, "400": {"description": "Invalid Input", "content": {"application/json": {"schema": {"title": "InvalidInputSchema", "description": "Invalid Input", "type": "object", "properties": {}}}}}}}, "parameters": []}, "/user/": {"summary": "Create user", "post": {"tags": ["User"], "summary": "Create user", "description": "This can only be done by the logged in user.", "parameters": [], "requestBody": {"description": "A User object", "content": {"application/json": {"schema": {"title": "UserSchema", "description": "A User object", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "firstName": {"title": "Firstname", "type": "string"}, "lastName": {"title": "Lastname", "type": "string"}, "email": {"title": "Email", "type": "string"}, "password": {"title": "Password", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "userStatus": {"title": "Userstatus", "type": "integer"}}, "required": ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"], "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}, "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}}, "required": false}, "responses": {"200": {"description": "A User object", "content": {"application/json": {"schema": {"title": "UserSchema", "description": "A User object", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "firstName": {"title": "Firstname", "type": "string"}, "lastName": {"title": "Lastname", "type": "string"}, "email": {"title": "Email", "type": "string"}, "password": {"title": "Password", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "userStatus": {"title": "Userstatus", "type": "integer"}}, "required": ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"], "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}, "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}}}}}, "parameters": []}, "/user/createWithList": {"summary": "Create array of Users", "post": {"tags": ["User"], "summary": "Create array of Users", "description": " Creates list of users with given input array", "parameters": [], "requestBody": {"description": "Array of User objects", "content": {"application/json": {"schema": {"title": "UserListSchema", "description": "Array of User objects", "type": "array", "items": {"title": "UserSchema", "description": "A User object", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "firstName": {"title": "Firstname", "type": "string"}, "lastName": {"title": "Lastname", "type": "string"}, "email": {"title": "Email", "type": "string"}, "password": {"title": "Password", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "userStatus": {"title": "Userstatus", "type": "integer"}}, "required": ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"]}}}}, "required": false}, "responses": {"200": {"description": "Array of User objects", "content": {"application/json": {"schema": {"title": "UserListSchema", "description": "Array of User objects", "type": "array", "items": {"title": "UserSchema", "description": "A User object", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "firstName": {"title": "Firstname", "type": "string"}, "lastName": {"title": "Lastname", "type": "string"}, "email": {"title": "Email", "type": "string"}, "password": {"title": "Password", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "userStatus": {"title": "Userstatus", "type": "integer"}}, "required": ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"]}}}}}}}, "parameters": []}, "/user/login": {"summary": "Logs user into the system", "get": {"tags": ["User"], "summary": "Logs user into the system", "description": "", "parameters": [{"name": "username", "in": "query", "description": "", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "username", "type": "string"}}, {"name": "password", "in": "query", "description": "The password for login in clear text", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "password", "description": "The password for login in clear text", "type": "string"}}], "responses": {"200": {"description": "", "headers": {"X-Rate-Limit": {"description": "calls per hour allowed by the user", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"type": "integer"}}, "X-Expires-After": {"description": "date in UTC when token expires", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"title": "LoginSuccessSchema", "type": "string"}}}}, "400": {"description": "", "content": {"application/json": {"schema": {"title": "LoginErrorSchema", "type": "object", "properties": {"details": {"title": "Details", "type": "string"}}, "required": ["details"], "example": {"details": "Invalid username/password supplied"}}, "example": {"details": "Invalid username/password supplied"}}}}, "403": {"description": "", "content": {"text/plain": {"schema": {"title": "ForbiddenSchema", "default": "403 Forbidden", "type": "string"}}}}}}, "parameters": []}, "/user/logout": {"summary": "Logs out a User", "get": {"tags": ["User"], "summary": "Logs out a User", "description": " Logs current user session out of the system", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "LogoutSuccessSchema", "type": "string"}}}}}}, "parameters": []}, "/user/{username}": {"get": {"tags": ["User"], "summary": "Get User", "description": "Retrieve a User by username", "parameters": [{"name": "username", "in": "path", "description": "The username of the User that needs to be fetched.", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "username", "description": "The username of the User that needs to be fetched.", "type": "string"}}], "responses": {"200": {"description": "A User object", "content": {"application/json": {"schema": {"title": "UserSchema", "description": "A User object", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "firstName": {"title": "Firstname", "type": "string"}, "lastName": {"title": "Lastname", "type": "string"}, "email": {"title": "Email", "type": "string"}, "password": {"title": "Password", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "userStatus": {"title": "Userstatus", "type": "integer"}}, "required": ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"], "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}, "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}}}, "400": {"description": "", "content": {"application/json": {"schema": {"title": "UserErrorSchema", "type": "object", "properties": {"msg": {"title": "Msg", "type": "array", "items": {"type": "string"}}}, "required": ["msg"], "example": {"msg": ["A User error message here."]}}, "example": {"msg": ["A User error message here."]}}}}, "404": {"description": "", "content": {"application/json": {"schema": {"title": "UserErrorSchema", "type": "object", "properties": {"msg": {"title": "Msg", "type": "array", "items": {"type": "string"}}}, "required": ["msg"], "example": {"msg": ["A User error message here."]}}, "example": {"msg": ["A User error message here."]}}}}}}, "put": {"tags": ["User"], "summary": "Update User", "description": "Update a User by username", "parameters": [{"name": "username", "in": "path", "description": "The username of the User that needs to be fetched.", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "username", "description": "The username of the User that needs to be fetched.", "type": "string"}}], "responses": {"200": {"description": "A User object", "content": {"application/json": {"schema": {"title": "UserSchema", "description": "A User object", "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "username": {"title": "Username", "type": "string"}, "firstName": {"title": "Firstname", "type": "string"}, "lastName": {"title": "Lastname", "type": "string"}, "email": {"title": "Email", "type": "string"}, "password": {"title": "Password", "type": "string"}, "phone": {"title": "Phone", "type": "string"}, "userStatus": {"title": "Userstatus", "type": "integer"}}, "required": ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"], "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}, "example": {"id": 10, "username": "theUser", "firstName": "John", "lastName": "James", "email": "john@email.com", "password": "12345", "phone": "12345", "userStatus": 4}}}}, "400": {"description": "", "content": {"application/json": {"schema": {"title": "UserErrorSchema", "type": "object", "properties": {"msg": {"title": "Msg", "type": "array", "items": {"type": "string"}}}, "required": ["msg"], "example": {"msg": ["A User error message here."]}}, "example": {"msg": ["A User error message here."]}}}}, "404": {"description": "", "content": {"application/json": {"schema": {"title": "UserErrorSchema", "type": "object", "properties": {"msg": {"title": "Msg", "type": "array", "items": {"type": "string"}}}, "required": ["msg"], "example": {"msg": ["A User error message here."]}}, "example": {"msg": ["A User error message here."]}}}}}}, "delete": {"tags": ["User"], "summary": "Delete User", "description": "Delete a User by username", "parameters": [{"name": "username", "in": "path", "description": "The username of the User that needs to be fetched.", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "username", "description": "The username of the User that needs to be fetched.", "type": "string"}}], "responses": {"400": {"description": "", "content": {"application/json": {"schema": {"title": "UserErrorSchema", "type": "object", "properties": {"msg": {"title": "Msg", "type": "array", "items": {"type": "string"}}}, "required": ["msg"], "example": {"msg": ["A User error message here."]}}, "example": {"msg": ["A User error message here."]}}}}, "404": {"description": "", "content": {"application/json": {"schema": {"title": "UserErrorSchema", "type": "object", "properties": {"msg": {"title": "Msg", "type": "array", "items": {"type": "string"}}}, "required": ["msg"], "example": {"msg": ["A User error message here."]}}, "example": {"msg": ["A User error message here."]}}}}}}, "parameters": []}, "/blog/articles/random": {"get": {"tags": ["Blog"], "summary": "RandomArticleAPI", "description": "Return a random article from the Blog", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ArticleDetailSchema", "type": "object", "properties": {"created": {"title": "Created", "type": "string", "format": "date-time"}, "title": {"title": "Title", "type": "string"}, "author": {"title": "Author", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["created", "title", "author", "content"]}}}}}}, "parameters": []}, "/blog/articles/create": {"post": {"tags": ["Blog"], "summary": "ArticleCreateAPI", "description": "", "parameters": [], "requestBody": {"description": "POST schema for blog article creation", "content": {"application/json": {"schema": {"title": "ArticleCreateSchema", "description": "POST schema for blog article creation", "type": "object", "properties": {"title": {"title": "Title", "description": "Title of Blog article", "type": "string"}, "content": {"title": "Content", "description": "Blog article content", "type": "string"}}, "required": ["title", "content"]}}}, "required": false}, "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ArticleDetailSchema", "type": "object", "properties": {"created": {"title": "Created", "type": "string", "format": "date-time"}, "title": {"title": "Title", "type": "string"}, "author": {"title": "Author", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["created", "title", "author", "content"]}}}}}}, "parameters": []}, "/blog/articles/update": {"put": {"tags": ["Blog"], "summary": "ArticleUpdateAPI", "description": "", "parameters": [], "requestBody": {"content": {"application/json": {"schema": {"title": "ArticleUpdateSerializer", "type": "object", "properties": {"pk": {"title": "Pk", "description": "Primary key of article to update", "readOnly": false, "writeOnly": false, "type": "integer"}, "title": {"title": "Title", "readOnly": false, "writeOnly": false, "type": "string"}, "content": {"title": "Content", "readOnly": false, "writeOnly": false, "type": "string"}}, "required": ["pk"]}}}, "required": false}, "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ArticleDetailSchema", "type": "object", "properties": {"created": {"title": "Created", "type": "string", "format": "date-time"}, "title": {"title": "Title", "type": "string"}, "author": {"title": "Author", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["created", "title", "author", "content"]}}}}}}, "parameters": []}, "/blog/articles/delete/{pk}": {"delete": {"tags": ["Blog"], "summary": "ArticleDeleteAPI", "description": "", "parameters": [{"name": "pk", "in": "path", "description": "Primary key of article to delete", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "pk", "description": "Primary key of article to delete", "type": "integer"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ArticleDeleteSchema", "type": "object", "properties": {"pk": {"title": "Pk", "description": "Primary key of article to delete", "type": "integer"}}, "required": ["pk"]}}}}}}, "parameters": []}, "/blog/articles/{year}/": {"get": {"tags": ["Blog"], "summary": "ArticlesYearAPI", "description": "List all articles given a year", "parameters": [{"name": "year", "in": "path", "description": "", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "year", "type": "integer"}}, {"name": "page", "in": "query", "description": "", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "page", "type": "integer"}}, {"name": "api_key", "in": "header", "description": "", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "api_key", "type": "string"}}, {"name": "username", "in": "cookie", "description": "", "required": false, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "username", "type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ListArticleDetailSchema", "type": "array", "items": {"title": "ArticleDetailSchema", "type": "object", "properties": {"created": {"title": "Created", "type": "string", "format": "date-time"}, "title": {"title": "Title", "type": "string"}, "author": {"title": "Author", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["created", "title", "author", "content"]}}}}}}}, "parameters": []}, "/blog/articles/{year}/{month}/{slug}/": {"get": {"tags": ["Blog"], "summary": "ArticleDetailAPI", "description": "", "parameters": [{"name": "year", "in": "path", "description": "", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "year", "type": "integer"}}, {"name": "month", "in": "path", "description": "", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "month", "type": "integer"}}, {"name": "slug", "in": "path", "description": "", "required": true, "deprecated": false, "allowEmptyValue": false, "explode": false, "allowReserved": false, "schema": {"title": "slug", "type": "string"}}], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ArticleDetailSchema", "type": "object", "properties": {"created": {"title": "Created", "type": "string", "format": "date-time"}, "title": {"title": "Title", "type": "string"}, "author": {"title": "Author", "type": "string"}, "content": {"title": "Content", "type": "string"}}, "required": ["created", "title", "author", "content"]}}}}}}, "parameters": []}, "/blog/author": {"get": {"tags": ["Blog"], "summary": "List Authors", "description": "API to create an author or list all authors", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "AuthorListSchema", "type": "object", "properties": {"authors": {"title": "Authors", "type": "array", "items": {"title": "AuthorSchema", "type": "object", "properties": {"first_name": {"title": "First Name", "type": "string"}, "last_name": {"title": "Last Name", "type": "string"}}, "required": ["first_name", "last_name"]}}}, "required": ["authors"]}}}}}}, "post": {"tags": ["Blog"], "summary": "Create Author", "description": "API to create an author or list all authors", "parameters": [], "requestBody": {"content": {"application/json": {"schema": {"title": "AuthorSchema", "type": "object", "properties": {"first_name": {"title": "First Name", "type": "string"}, "last_name": {"title": "Last Name", "type": "string"}}, "required": ["first_name", "last_name"]}}}, "required": false}, "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "AuthorSchema", "type": "object", "properties": {"first_name": {"title": "First Name", "type": "string"}, "last_name": {"title": "Last Name", "type": "string"}}, "required": ["first_name", "last_name"]}}}}}}, "parameters": []}, "/blog/categories/": {"get": {"tags": ["Blog"], "summary": "Category List", "description": "Example Generic View Documentation", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ListSerializer", "type": "array", "items": {"title": "CategorySerializer", "type": "object", "properties": {"name": {"title": "Name", "description": "Name of category", "readOnly": false, "writeOnly": false, "type": "string"}}, "required": ["name"]}}}}}}}, "post": {"tags": ["Blog"], "summary": "Category List Create", "description": "Example Generic View Documentation", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "ListSerializer", "type": "array", "items": {"title": "CategorySerializer", "type": "object", "properties": {"name": {"title": "Name", "description": "Name of category", "readOnly": false, "writeOnly": false, "type": "string"}}, "required": ["name"]}}}}}}}, "parameters": []}, "/cat/": {"get": {"tags": ["Blog"], "summary": "List Categories", "description": "Example Viewset documentation", "parameters": [], "responses": {"200": {"description": "List of category names", "content": {"application/json": {"schema": {"title": "CategoryListSchema", "description": "List of category names", "type": "object", "properties": {"name": {"title": "Name", "type": "array", "items": {"type": "string"}}}, "required": ["name"]}}}}}}, "parameters": []}, "/cat.{format}/": {"get": {"tags": ["Blog"], "summary": "List Categories", "description": "Example Viewset documentation", "parameters": [], "responses": {"200": {"description": "List of category names", "content": {"application/json": {"schema": {"title": "CategoryListSchema", "description": "List of category names", "type": "object", "properties": {"name": {"title": "Name", "type": "array", "items": {"type": "string"}}}, "required": ["name"]}}}}}}, "parameters": []}, "/cat/{pk}/": {"get": {"tags": ["Blog"], "summary": "Get Category", "description": "Example Viewset documentation", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "CategorySerializer", "type": "object", "properties": {"name": {"title": "Name", "description": "Name of category", "readOnly": false, "writeOnly": false, "type": "string"}}, "required": ["name"]}}}}}}, "parameters": []}, "/cat/{pk}.{format}/": {"get": {"tags": ["Blog"], "summary": "Get Category", "description": "Example Viewset documentation", "parameters": [], "responses": {"200": {"description": "", "content": {"application/json": {"schema": {"title": "CategorySerializer", "type": "object", "properties": {"name": {"title": "Name", "description": "Name of category", "readOnly": false, "writeOnly": false, "type": "string"}}, "required": ["name"]}}}}}}, "parameters": []}}, "components": {"schemas": {}, "responses": {}, "parameters": {}, "examples": {}, "requestBodies": {}, "headers": {}, "securitySchemes": {}, "links": {}, "callbacks": {}}, "security": [], "tags": [{"name": "Toy", "description": "Toy App"}, {"name": "Store", "description": "Store App"}, {"name": "User", "description": "User App"}, {"name": "Blog", "description": "Blog App"}], "x-tagGroups": [{"name": "GENERAL", "tags": ["Toy", "Store", "Blog"]}, {"name": "USER MANAGEMENT", "tags": ["User"]}]}