{ "openapi": "3.0.0", "info": { "title": "Employee Management API", "version": "2.5.0", "description": "Comprehensive API for managing employee records, payroll, and attendance across all departments.", "contact": { "name": "HR Technology Team", "email": "hr-tech@company.io", "url": "https://hrtech.company.io" }, "termsOfService": "https://company.io/terms" }, "servers": [ { "url": "https://api.company.io/v2" } ], "tags": [ { "name": "Employee", "description": "Employee master data operations including create, update, retrieve and delete" } ], "paths": { "/employee/getEmployee": { "get": { "operationId": "getEmployee", "summary": "Get employee by ID", "description": "Retrieves full employee record including personal, payroll and attendance details", "tags": ["Employee"], "parameters": [ { "name": "EmployeeId", "in": "query", "required": true, "schema": { "type": "integer" }, "description": "Unique employee identifier" }, { "name": "DepartmentId", "in": "query", "required": false, "schema": { "type": "integer" }, "description": "Filter by department" } ], "responses": { "200": { "description": "Employee record retrieved successfully", "content": { "application/json": { "schema": { "type": "object", "properties": { "EmployeeId": { "type": "integer" }, "EmployeeName": { "type": "string" }, "Department": { "type": "string" }, "Salary": { "type": "number" } } } } } }, "404": { "description": "Employee not found" } } } }, "/employee/saveEmployee": { "post": { "operationId": "saveEmployee", "summary": "Save or update employee record", "tags": ["Employee"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "EmployeeId": { "type": "integer" }, "EmployeeName": { "type": "string" }, "DepartmentId": { "type": "integer" }, "Salary": { "type": "number" }, "JoiningDate": { "type": "string", "format": "date" } } } } } }, "responses": { "200": { "description": "Employee saved successfully" } } } } }, "components": { "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } } }