{ "x-generator": "NSwag v13.9.4.0 (NJsonSchema v10.3.1.0 (Newtonsoft.Json v12.0.0.0))", "openapi": "3.0.0", "info": { "title": "CleanArchitecture API", "version": "1.0.0" }, "paths": { "/api/GetTodos": { "get": { "tags": [ "GetTodos" ], "operationId": "GetTodos_Get", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TodosVm" } } } } } } }, "/api/ExportTodos/{id}": { "get": { "tags": [ "ExportTodos" ], "operationId": "ExportTodos_Get", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "JWT": [] } ] } }, "/api/UpdateTodoList/{id}": { "put": { "tags": [ "UpdateTodoList" ], "operationId": "UpdateTodoList_Update", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "requestBody": { "x-name": "command", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTodoListCommand" } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "JWT": [] } ] } }, "/api/DeleteTodoList/{id}": { "delete": { "tags": [ "DeleteTodoList" ], "operationId": "DeleteTodoList_Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "JWT": [] } ] } }, "/api/CreateTodoList": { "post": { "tags": [ "CreateTodoList" ], "operationId": "CreateTodoList_Create", "requestBody": { "x-name": "command", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTodoListCommand" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "integer", "format": "int32" } } } } }, "security": [ { "JWT": [] } ] } }, "/todoItems": { "get": { "tags": [ "GetTodoItemsWithPagination" ], "operationId": "GetTodoItemsWithPagination_GetTodoItemsWithPagination", "parameters": [ { "name": "ListId", "in": "query", "schema": { "type": "integer", "format": "int32" }, "x-position": 1 }, { "name": "PageNumber", "in": "query", "schema": { "type": "integer", "format": "int32" }, "x-position": 2 }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" }, "x-position": 3 } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaginatedListOfTodoItemDto" } } } } }, "security": [ { "JWT": [] } ] }, "post": { "tags": [ "CreateTodoItem" ], "operationId": "CreateTodoItem_Create", "requestBody": { "x-name": "command", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTodoItemCommand" } } }, "required": true, "x-position": 1 }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "integer", "format": "int32" } } } } }, "security": [ { "JWT": [] } ] } }, "/todoItems/UpdateItemDetails": { "put": { "tags": [ "UpdateTodoItemDetail" ], "operationId": "UpdateTodoItemDetail_UpdateItemDetails", "parameters": [ { "name": "id", "in": "query", "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "requestBody": { "x-name": "command", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTodoItemDetailCommand" } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "JWT": [] } ] } }, "/todoItems/{id}": { "put": { "tags": [ "TodoItems" ], "operationId": "TodoItems_Update", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "requestBody": { "x-name": "command", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTodoItemCommand" } } }, "required": true, "x-position": 2 }, "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "JWT": [] } ] }, "delete": { "tags": [ "DeleteTodoItem" ], "operationId": "DeleteTodoItem_Delete", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" }, "x-position": 1 } ], "responses": { "200": { "description": "", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } } }, "security": [ { "JWT": [] } ] } } }, "components": { "schemas": { "TodosVm": { "type": "object", "additionalProperties": false, "properties": { "priorityLevels": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/PriorityLevelDto" } }, "lists": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TodoListDto" } } } }, "PriorityLevelDto": { "type": "object", "additionalProperties": false, "properties": { "value": { "type": "integer", "format": "int32" }, "name": { "type": "string", "nullable": true } } }, "TodoListDto": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "integer", "format": "int32" }, "title": { "type": "string", "nullable": true }, "colour": { "type": "string", "nullable": true }, "items": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TodoItemDto" } } } }, "TodoItemDto": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "integer", "format": "int32" }, "listId": { "type": "integer", "format": "int32" }, "title": { "type": "string", "nullable": true }, "done": { "type": "boolean" }, "priority": { "type": "integer", "format": "int32" }, "note": { "type": "string", "nullable": true } } }, "UpdateTodoListCommand": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "integer", "format": "int32" }, "title": { "type": "string", "nullable": true } } }, "CreateTodoListCommand": { "type": "object", "additionalProperties": false, "properties": { "title": { "type": "string", "nullable": true } } }, "PaginatedListOfTodoItemDto": { "type": "object", "additionalProperties": false, "properties": { "items": { "type": "array", "nullable": true, "items": { "$ref": "#/components/schemas/TodoItemDto" } }, "pageIndex": { "type": "integer", "format": "int32" }, "totalPages": { "type": "integer", "format": "int32" }, "totalCount": { "type": "integer", "format": "int32" }, "hasPreviousPage": { "type": "boolean" }, "hasNextPage": { "type": "boolean" } } }, "UpdateTodoItemDetailCommand": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "integer", "format": "int32" }, "listId": { "type": "integer", "format": "int32" }, "priority": { "$ref": "#/components/schemas/PriorityLevel" }, "note": { "type": "string", "nullable": true } } }, "PriorityLevel": { "type": "integer", "description": "", "x-enumNames": [ "None", "Low", "Medium", "High" ], "enum": [ 0, 1, 2, 3 ] }, "UpdateTodoItemCommand": { "type": "object", "additionalProperties": false, "properties": { "id": { "type": "integer", "format": "int32" }, "title": { "type": "string", "nullable": true }, "done": { "type": "boolean" } } }, "CreateTodoItemCommand": { "type": "object", "additionalProperties": false, "properties": { "listId": { "type": "integer", "format": "int32" }, "title": { "type": "string", "nullable": true } } } }, "securitySchemes": { "JWT": { "type": "apiKey", "description": "Type into the textbox: Bearer {your JWT token}.", "name": "Authorization", "in": "header" } } }, "security": [ { "JWT": [] } ] }