{"name":"Charisol Workspace API","version":"1.0.0","description":"Internal people-operations platform for Charisol","documentation":"https://github.com/challaris/charisol-workspace-docs","health":"/health","endpoints":{"auth":{"POST /auth/login":"Authenticate with email & password","POST /auth/set-password":"Complete first-login password challenge","POST /auth/refresh":"Refresh access token (cookie-based)","GET  /auth/me":"Get current user profile","POST /auth/logout":"Invalidate session","POST /auth/forgot-password":"Request password reset code","POST /auth/confirm-forgot-password":"Reset password with code","POST /auth/change-password":"Change password (authenticated)"},"employees":{"GET    /employees":"List employees (filtered, paginated)","GET    /employees/:id":"Get employee by ID","POST   /employees":"Create employee (sends Cognito invite)","PATCH  /employees/:id":"Update employee","DELETE /employees/:id":"Deactivate employee","GET    /employees/:id/org-tree":"Get org-chart subtree","POST   /employees/:id/avatar":"Upload avatar"},"teams":{"GET   /teams":"List teams","POST  /teams":"Create team","PATCH /teams/:id":"Update team","GET   /teams/:id/members":"List team members"},"leave":{"GET   /leave":"List leave requests","POST  /leave":"Submit leave request","GET   /leave/:id":"Get leave request","PATCH /leave/:id/approve":"Approve leave","PATCH /leave/:id/reject":"Reject leave","PATCH /leave/:id/cancel":"Cancel leave","GET   /leave/balances":"Get leave balances","PATCH /leave/balances":"Adjust leave balance","GET   /leave/calendar":"Team leave calendar","GET   /leave/policies":"Get leave policies","PUT   /leave/policies":"Update leave policies"},"attendance":{"POST  /attendance/clock-in":"Clock in","POST  /attendance/clock-out":"Clock out","GET   /attendance":"List attendance records","GET   /attendance/summary":"Attendance summary","GET   /attendance/policies":"Get attendance policies","PUT   /attendance/policies":"Update attendance policies","PATCH /attendance/:date":"Manual attendance correction"},"reviews":{"GET   /reviews/cycles":"List review cycles","POST  /reviews/cycles":"Create review cycle","GET   /reviews/cycles/:cycleId":"Get cycle details","GET   /reviews":"List reviews","POST  /reviews":"Submit review","GET   /reviews/goals":"List goals","POST  /reviews/goals":"Create goal","PATCH /reviews/goals/:id":"Update goal"},"projects":{"GET    /projects":"List projects","POST   /projects":"Create project","GET    /projects/:id":"Get project","PATCH  /projects/:id":"Update project","POST   /projects/:id/members":"Add member","DELETE /projects/:id/members/:employeeId":"Remove member"},"payroll":{"GET   /payroll":"List payroll records","POST  /payroll":"Create payroll record","PATCH /payroll/:id":"Update payroll record","POST  /payroll/bulk":"Bulk payroll upload","GET   /payroll/reports":"Payroll reports"},"rewards":{"GET   /rewards":"List rewards","POST  /rewards/kudos":"Send kudos","POST  /rewards/nominations":"Submit nomination","PATCH /rewards/nominations/:id/approve":"Approve nomination","GET   /rewards/feed":"Recognition feed"},"documents":{"GET    /documents":"List documents","POST   /documents/upload-url":"Get presigned upload URL","POST   /documents/:id/confirm":"Confirm upload","GET    /documents/:id/download-url":"Get download URL","DELETE /documents/:id":"Delete document"},"workflows":{"GET   /workflows":"List onboarding/offboarding workflows","POST  /workflows":"Create workflow","GET   /workflows/:id":"Get workflow details","PATCH /workflows/:id/tasks/:taskId":"Update task status","GET   /workflows/templates":"List templates","POST  /workflows/templates":"Create template","GET   /workflows/templates/:templateId":"Get template","PUT   /workflows/templates/:templateId":"Update template","DELETE /workflows/templates/:templateId":"Delete template"},"broadcasts":{"GET  /broadcasts":"List broadcasts","POST /broadcasts":"Send broadcast","POST /broadcasts/preview":"Preview broadcast"},"admin":{"GET   /admin/settings":"Get system settings","PATCH /admin/settings":"Update settings","GET   /admin/audit-log":"Query audit log","GET   /admin/roles":"List role definitions","PUT   /admin/roles/:roleCode":"Update role permissions"},"dashboard":{"GET   /dashboard/stats":"Dashboard statistics","GET   /dashboard/notifications":"User notifications","PATCH /dashboard/notifications/:notificationId/read":"Mark notification read","PATCH /dashboard/notifications/read-all":"Mark all read"},"notifications":{"GET   /notifications/preferences":"Get notification preferences","PATCH /notifications/preferences":"Update preferences"}}}