This document describes the backend HTTP API exposed by the Express server.
- Local:
http://localhost:8800
- Content type:
application/json - Authentication: No token-based authentication middleware is currently enabled.
- Most endpoints return raw DB rows or simple status messages.
- Description: Service check endpoint.
- Response:
"Welcome to Jupiter Apparels"- Description: Log in by user ID and password.
- Request body:
{
"User_ID": "U000001",
"Password": "admin123"
}- Success response:
{
"status": "Success",
"role": "Admin",
"EMP_id": "E000001"
}- Other responses:
"User not found","Invalid","Error"
- Description: Create a new app user. Password is hashed with bcrypt.
- Request body:
{
"User_ID": "U000999",
"Employee_ID": "E000001",
"Access_level": "HR",
"Password": "somePassword"
}- Response:
"Success"or"Error"
- Description: Get all departments.
- Description: Get all departments (HR view).
- Description: Create department.
- Request body:
{
"Dept_ID": "SL001D3",
"Dept_Name": "New Department",
"Building": "Building A",
"Branch_ID": "SL001"
}- Description: Update department building.
- Request body:
{
"Building": "Building Z"
}- Description: Delete department by ID.
- Description: Get employees in a specific department.
- Description: Get employee list with department and title joins.
- Description: Create employee and optional custom field values.
- Request body:
{
"employee": {
"Employee_ID": "E000090",
"First_Name": "John",
"Last_Name": "Doe",
"NIC": "123456789V",
"Date_of_Birth": "1995-01-01",
"Gender": "Male",
"Tel_No": "0771234567",
"Email": "john@example.com",
"Dept_ID": "SL001D1",
"Maritial_Status": "Single",
"Title_ID": "JT003",
"Paygrade_ID": "L2",
"Status_ID": "CON_FT",
"Supervisor_ID": "E000037"
},
"customFieldValue": {
"00001": "Sri Lankan",
"00002": "English"
}
}- Success response:
{
"message": "Employee added successfully."
}- Description: Update selected employee fields.
- Request body:
{
"Tel_No": "0770000000",
"Dept_ID": "SL001D2",
"Title_ID": "JT004",
"Paygrade_ID": "L3",
"Status_ID": "PERM",
"Supervisor_ID": "E000037"
}- Description: Get branch list.
- Description: Get emergency contacts.
- Description: Update emergency contact.
- Request body:
{
"First_Name": "Jane",
"Last_Name": "Doe",
"Tel_No": "0711111111",
"Relationship": "Sibling",
"Address": "Colombo",
"Email": "jane@example.com"
}- Description: Get dependent info.
- Description: Add dependent info.
- Request body:
{
"Name": "Child Name",
"Employee_ID": "E000001",
"Date_of_Birth": "2015-01-01",
"Relationship": "Child"
}- Description: Placeholder route.
- Response:
"Personal details route"
- Description: Get personal details view row for one employee.
- Description: Get subordinates for a supervisor.
- Description: Get leave requests.
- Description: Get leave balances.
- Description: Update leave balance for employee.
- Request body:
{
"Annual": 20,
"Casual": 10,
"Maternity": 12,
"No_pay": 50
}- Description: Create leave request; supervisor is auto-derived from employee record.
- Request body:
{
"Leave_Request_ID": 99,
"Employee_ID": "E000040",
"Start_Date": "2026-07-10",
"End_Date": "2026-07-12",
"Leave_Type": "Casual",
"Status": "Pending",
"Reason": "Personal",
"Duration": "2",
"Comments": "",
"Supervisor_ID": "ignored"
}- Description: Update leave request status/comments by employee ID.
- Request body:
{
"Status": "Approved",
"Comments": "Enjoy"
}- Description: Get leave requests assigned to supervisor (
supervisor_ID).
- Description: Get pay grade list.
- Description: Update allowances and description.
- Request body:
{
"Annual_Leave_Allowance": 25,
"Casual_Leave_Allowance": 12,
"Maternity_Leave_Allowance": 14,
"NO_pay_Allowance": 50,
"Description": "Mid-level employees"
}- Description: Get employees by paygrade.
- Description: Get job titles.
- Description: Add job title.
- Request body:
{
"Title_ID": "JT099",
"Title": "New Role"
}- Description: Get employees by job title.
- Description: Leave report by department and date range.
- Description: Get custom field values for employee.
- Description: Create custom field definition.
- Request body:
{
"Field_ID": "00010",
"Field_name": "Skill"
}- Description: Get all custom field definitions.
- Description: Assign custom field value to employee.
- Request body:
{
"fieldId": "00010",
"fieldVal": "React"
}- Most endpoints return DB errors directly with
res.json(err). - Some endpoints return custom JSON error messages.
- HTTP status codes are mostly
200, except specific cases where500is used in custom field and employee creation handlers.