{ "openapi": "3.0.1", "info": { "title": "Attica Server Application v1", "description": "Version 1 of Attica Server Application API", "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" }, "version": "1.0.0" }, "servers": [ { "url": "http://localhost:3000/v0/" }, { "url": "https://erp-server.triadkube.com/v0/" } ], "security": [ { "bearerAuth": [] } ], "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "paths": { "/user/create": { "post": { "tags": [ "Auth" ], "summary": "Create Account for New User", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "id": { "type": "string", "required": true }, "password": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/user/login": { "post": { "tags": [ "Auth" ], "summary": "Login with Employee Id and Password", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "required": true }, "password": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/user/token/renew": { "post": { "tags": [ "Auth" ], "summary": "Login with Employee Code and Password", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "refreshToken": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/profile": { "post": { "tags": [ "Profile" ], "summary": "Create or Edit Profile New User", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "user": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "pincode": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } }, "get": { "tags": [ "Profile" ], "summary": "Get Profile for a User", "responses": { "200": { "description": "OK", "content": {} } } } }, "/location/create": { "post": { "tags": [ "Location" ], "summary": "Create New Location", "parameters": [ { "in": "query", "name": "key", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "coordinates": { "type": "array", "required": true }, "venue": { "type": "string", "required": false } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/location/venues/assigned/me": { "get": { "tags": [ "Location" ], "summary": "Get Assigned Venues for creating Geofence", "responses": { "200": { "description": "OK", "content": {} } } } }, "/uploads/single/{folder}": { "post": { "tags": [ "Uploads" ], "summary": "Endpoint to handle Single File", "parameters": [ { "in": "path", "name": "folder" } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/access": { "post": { "tags": [ "Admin" ], "summary": "Create Access for an Employee", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "user": { "type": "string", "required": true }, "designation": { "type": "array", "required": true }, "department": { "type": "string", "required": true }, "role": { "type": "string", "required": true }, "branch": { "type": "array", "items": { "type": "string" }, "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/branches": { "get": { "tags": [ "Admin" ], "summary": "Get All Branches", "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/metadata": { "get": { "tags": [ "Admin" ], "summary": "Get All Metadata", "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/employees": { "get": { "tags": [ "Admin" ], "summary": "Get All Employees", "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/branch": { "post": { "tags": [ "Admin" ], "summary": "Create New Branch", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "pincode": { "type": "string", "required": true }, "coordinates": { "type": "object", "required": true, "properties": { "latitude": { "type": "number", "required": true }, "longitude": { "type": "number", "required": true } } } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/designation": { "post": { "tags": [ "Admin" ], "summary": "Create New Designation", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/department": { "post": { "tags": [ "Admin" ], "summary": "Create New Department", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/role": { "post": { "tags": [ "Admin" ], "summary": "Create New Role", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/role/{id}": { "patch": { "tags": [ "Admin" ], "summary": "Edit New Role", "parameters": [ { "in": "path", "name": "id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/employee/{id}": { "get": { "tags": [ "Admin" ], "summary": "Get Employee Details by ID", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/admin/employee/{user}/locations": { "get": { "tags": [ "Admin" ], "summary": "Get Employee Details by ID", "parameters": [ { "in": "path", "name": "user", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "date", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/assignment": { "post": { "tags": [ "Assignment" ], "summary": "Create an assignment", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "user": { "type": "string", "required": true }, "venue": { "type": "string", "required": true }, "targetedVisits": { "type": "number", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/assignment/{id}": { "patch": { "tags": [ "Assignment" ], "summary": "Update an assignment", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "user": { "type": "string", "required": true }, "venue": { "type": "string", "required": true }, "targetedVisits": { "type": "number", "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } }, "delete": { "tags": [ "Assignment" ], "summary": "Delete an assignment", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/assignment/user/{id}": { "get": { "tags": [ "Assignment" ], "summary": "Get all assignments for a user", "parameters": [ { "in": "path", "name": "id", "description": "User ID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/assignment/venue/{id}": { "get": { "tags": [ "Assignment" ], "summary": "Get all assignments for a Venue", "parameters": [ { "in": "path", "name": "id", "description": "Venue ID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/partner": { "get": { "tags": [ "Partner" ], "summary": "Get all Partners", "responses": { "200": { "description": "OK", "content": {} } } }, "post": { "tags": [ "Partner" ], "summary": "Create New Partner", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "phone": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "pincode": { "type": "string", "required": true }, "contactPersons": { "type": "array", "required": true, "items": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "designation": { "type": "string", "required": true } } } } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } }, "/partner/{id}": { "get": { "tags": [ "Partner" ], "summary": "Get Partner Details by ID", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } }, "patch": { "tags": [ "Partner" ], "summary": "Update Partner Details by ID", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "phone": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "pincode": { "type": "string", "required": true }, "contactPersons": { "type": "array", "required": true, "items": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "designation": { "type": "string", "required": true } } } } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } }, "delete": { "tags": [ "Partner" ], "summary": "Deactivate Partner by ID", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/venue/": { "post": { "tags": [ "Venues" ], "summary": "Create New Venue", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "category": { "type": "string", "required": true }, "type": { "type": "string", "required": true }, "entity": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "pincode": { "type": "string", "required": true }, "contactPerson": { "type": "object", "required": true, "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "designation": { "type": "string", "required": true } }, "location": { "type": "object", "required": true, "properties": { "latitude": { "type": "number", "required": true }, "longitude": { "type": "number", "required": true } } } } } } } } } } }, "/venue/entity/{id}": { "get": { "tags": [ "Venues" ], "summary": "Get Venues by Entity", "parameters": [ { "in": "path", "name": "id", "description": "Entity ID", "required": true, "schema": { "type": "string" } } ], "response": { "200": { "description": "Success", "content": {} } } } }, "/venue/{id}": { "get": { "tags": [ "Venues" ], "summary": "Get Venue by ID", "parameters": [ { "in": "path", "name": "id", "description": "Venue ID", "required": true, "schema": { "type": "string" } } ], "respose": { "200": { "description": "Success", "content": {} } } }, "delete": { "tags": [ "Venues" ], "summary": "Delete Venue by ID", "parameters": [ { "in": "path", "name": "id", "description": "Venue ID", "required": true, "schema": { "type": "string" } } ], "respose": { "200": { "description": "Success", "content": {} } } } }, "/product": { "post": { "summary": "Create a New Product", "tags": [ "Product" ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "sku": { "type": "string", "required": true }, "name": { "type": "string", "required": true }, "stock": { "type": "number", "required": true }, "buyingPrice": { "type": "number", "required": true }, "sellingPrice": { "type": "number", "required": true }, "description": { "type": "string", "required": true }, "gst": { "type": "number", "required": true }, "hsn": { "type": "string", "required": true }, "vendors": { "type": "array", "items": { "type": "string" }, "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } }, "get": { "summary": "Get All Products", "tags": [ "Product" ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/product/{id}": { "patch": { "summary": "Update a Product", "tags": [ "Product" ], "parameters": [ { "name": "id", "in": "path", "required": true, "description": "Product ID", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "sku": { "type": "string", "required": true }, "name": { "type": "string", "required": true }, "stock": { "type": "number", "required": true }, "buyingPrice": { "type": "number", "required": true }, "sellingPrice": { "type": "number", "required": true }, "description": { "type": "string", "required": true }, "gst": { "type": "number", "required": true }, "hsn": { "type": "string", "required": true }, "vendors": { "type": "array", "items": { "type": "string" }, "required": true } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } }, "delete": { "summary": "Delete a Product", "tags": [ "Product" ], "parameters": [ { "name": "id", "in": "path", "required": true, "description": "Product ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/vendor/all": { "get": { "summary": "Get All Vendors", "tags": [ "Vendor" ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/vendor/{id}": { "get": { "summary": "Get Vendor Details", "tags": [ "Vendor" ], "parameters": [ { "in": "path", "required": true, "description": "Vendor ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } }, "patch": { "summary": "Get Vendor Details", "tags": [ "Vendor" ], "parameters": [ { "in": "path", "required": true, "description": "Vendor ID", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "picode": { "type": "string", "required": true }, "isActive": { "type": "boolean", "required": true }, "contactPersons": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "designation": { "type": "string", "required": true } } } } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } }, "delete": { "summary": "Deactivate Vendor", "tags": [ "Vendor" ], "parameters": [ { "in": "path", "required": true, "description": "Vendor ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": {} } } } }, "/vendor": { "post": { "summary": "Create New Vendor", "tags": [ "Vendor" ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "address": { "type": "string", "required": true }, "city": { "type": "string", "required": true }, "state": { "type": "string", "required": true }, "picode": { "type": "string", "required": true }, "isActive": { "type": "boolean", "required": true }, "contactPersons": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "required": true }, "email": { "type": "string", "required": true }, "mobile": { "type": "string", "required": true }, "designation": { "type": "string", "required": true } } } } } } } } }, "responses": { "200": { "description": "OK", "content": {} } } } } } }