{ "openapi": "3.1.0", "info": { "title": "NinjaAPI", "version": "1.0.0", "description": "" }, "paths": { "/api/": { "get": { "operationId": "taskmodule_api_intro", "summary": "Intro", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskIn" } } } } }, "description": "Maybe used for homepage purpose", "tags": [ "Dashboard" ] } }, "/api/auth/authenticate": { "post": { "operationId": "taskmodule_api_authenticate", "summary": [ "Login with token" ], "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To login subscriber through a specific token:\n - **token**", "tags": [ "Authentication" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticateIn" } } }, "required": true } } }, "/api/auth/login": { "post": { "operationId": "taskmodule_api_login", "summary": "Login", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To login subscriber with username and password:\n - **username**\n - **credential**", "tags": [ "Authentication" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PreAuthenticateIn" } } }, "required": true } } }, "/api/auth/registration": { "post": { "operationId": "taskmodule_api_register", "summary": [ "Register new subscriber" ], "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To register a new subscriber:\n - **first_name**\n - **username**\n - **email**\n - **password**\n - **is_staff**", "tags": [ "Authentication" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationIn" } } }, "required": true } } }, "/api/auth/logout": { "get": { "operationId": "taskmodule_api_logout", "summary": "Logout", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To Logout a new subscriber", "tags": [ "Authentication" ] } }, "/api/tasks": { "get": { "operationId": "taskmodule_api_tasks_index", "summary": [ "Subscriber's active tasks" ], "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "The list of all active subscriber's tasks", "tags": [ "Tasks" ] } }, "/api/tasks/new": { "post": { "operationId": "taskmodule_api_task_add", "summary": "Task Add", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To create a new task:\n - **name** (type of string)\n - **description** (type of string)\n - **bucket** (type of uuid `[a-Z0-9]{8}-[a-Z0-9]{4}-[a-Z0-9]{4}-[a-Z0-9]{12}]`)\n - **content** (type of string)\n - **active** (type of bool default true)\n - **created** (type of datetime default datetime.now)", "tags": [ "Tasks" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskIn" } } }, "required": true } } }, "/api/tasks/delete": { "delete": { "operationId": "taskmodule_api_task_deactivate", "summary": "Task Deactivate", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To deactive an existing task:\n - **id** (type of string)", "tags": [ "Tasks" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskRemove" } } }, "required": true } } }, "/api/tasks/edit": { "patch": { "operationId": "taskmodule_api_task_edit", "summary": "Task Edit", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To edit an existing task:\n - **id** (type of uuid `[a-Z0-9]{8}-[a-Z0-9]{4}-[a-Z0-9]{4}-[a-Z0-9]{12}]`)\n - **name** (type of string)\n - **description** (type of string)\n - **content** (type of string)\n - **active** (type of bool default true)", "tags": [ "Tasks" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskEdit" } } }, "required": true } } }, "/api/buckets": { "get": { "operationId": "taskmodule_api_buckets_index", "summary": [ "Subscriber's active buckets" ], "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "The list of all active subscriber's buckets", "tags": [ "Buckets" ] } }, "/api/buckets/new": { "post": { "operationId": "taskmodule_api_bucket_add", "summary": "Bucket Add", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To create a new bucket:\n - **name** (type of string)\n - **description** (type of string)\n - **active** (type of bool default true)\n - **created** (type of datetime default datetime.now)", "tags": [ "Buckets" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketIn" } } }, "required": true } } }, "/api/buckets/delete": { "delete": { "operationId": "taskmodule_api_bucket_deactivate", "summary": "Bucket Deactivate", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To deactive an existing bucket:\n - **id** (type of string)", "tags": [ "Buckets" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketRemove" } } }, "required": true } } }, "/api/buckets/edit": { "patch": { "operationId": "taskmodule_api_bucket_edit", "summary": "Bucket Edit", "parameters": [], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseOut" } } } } }, "description": "To edit an existing bucket:\n - **id** (type of uuid `[a-Z0-9]{8}-[a-Z0-9]{4}-[a-Z0-9]{4}-[a-Z0-9]{12}]`)\n - **name** (type of string)\n - **description** (type of string)\n - **active** (type of bool default true)", "tags": [ "Buckets" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BucketEdit" } } }, "required": true } } } }, "components": { "schemas": { "TaskIn": { "additionalProperties": false, "description": "TaskIn Schema", "properties": { "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "bucket": { "format": "uuid", "title": "Bucket", "type": "string" }, "content": { "title": "Content", "type": "string" }, "active": { "default": true, "title": "Active", "type": "boolean" }, "created": { "format": "date-time", "title": "Created", "type": "string" } }, "required": [ "name", "description", "bucket", "content" ], "title": "TaskIn", "type": "object" }, "ResponseOut": { "description": "ResponseOut Schema", "properties": { "status": { "default": 200, "title": "Status", "type": "integer" }, "message": { "default": "You got it !", "title": "Message", "type": "string" }, "result": { "default": [], "items": { "$ref": "#/components/schemas/Schema" }, "title": "Result", "type": "array" } }, "title": "ResponseOut", "type": "object" }, "Schema": { "properties": {}, "title": "Schema", "type": "object" }, "AuthenticateIn": { "additionalProperties": false, "description": "AuthenticateIn Schema", "properties": { "token": { "title": "Token", "type": "string" } }, "required": [ "token" ], "title": "AuthenticateIn", "type": "object" }, "PreAuthenticateIn": { "additionalProperties": false, "description": "PreAuthenticateIn Schema", "properties": { "username": { "title": "Username", "type": "string" }, "credential": { "title": "Credential", "type": "string" } }, "required": [ "username", "credential" ], "title": "PreAuthenticateIn", "type": "object" }, "RegistrationIn": { "additionalProperties": false, "description": "RegistrationIn Schema", "properties": { "first_name": { "title": "First Name", "type": "string" }, "last_name": { "title": "Last Name", "type": "string" }, "username": { "title": "Username", "type": "string" }, "email": { "title": "Email", "type": "string" }, "password": { "title": "Password", "type": "string" }, "is_staff": { "default": true, "title": "Is Staff", "type": "boolean" } }, "required": [ "first_name", "last_name", "username", "email", "password" ], "title": "RegistrationIn", "type": "object" }, "TaskRemove": { "additionalProperties": false, "description": "TaskRemove Schema", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" } }, "required": [ "id" ], "title": "TaskRemove", "type": "object" }, "TaskEdit": { "additionalProperties": false, "description": "TaskEdit Schema", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "content": { "title": "Content", "type": "string" }, "active": { "default": true, "title": "Active", "type": "boolean" } }, "required": [ "id", "name", "description", "content" ], "title": "TaskEdit", "type": "object" }, "BucketIn": { "additionalProperties": false, "description": "BucketIn Schema", "properties": { "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "active": { "default": true, "title": "Active", "type": "boolean" }, "created": { "format": "date-time", "title": "Created", "type": "string" } }, "required": [ "name", "description" ], "title": "BucketIn", "type": "object" }, "BucketRemove": { "additionalProperties": false, "description": "BucketRemove Schema", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" } }, "required": [ "id" ], "title": "BucketRemove", "type": "object" }, "BucketEdit": { "additionalProperties": false, "description": "BucketEdit Schema", "properties": { "id": { "format": "uuid", "title": "Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "description": { "title": "Description", "type": "string" }, "active": { "default": true, "title": "Active", "type": "boolean" } }, "required": [ "id", "name", "description" ], "title": "BucketEdit", "type": "object" } } }, "servers": [] }