# REST API Surface

Base path: `/api/v1`

## Global/Super Admin

- `GET /super/dashboard`
- `GET /super/clients`
- `POST /super/clients`
- `PATCH /super/clients/{client}`
- `DELETE /super/clients/{client}`
- `PATCH /super/clients/{client}/suspend`
- `GET /super/packages`
- `POST /super/packages`
- `PATCH /super/packages/{package}`
- `GET /super/modules`
- `PATCH /super/modules/{module}`
- `GET /super/subscriptions`
- `POST /super/invoices`
- `GET /super/live-monitoring`

## Client Portal

- `GET /dashboard`
- `GET /branches`
- `POST /branches`
- `GET /departments`
- `POST /departments`
- `GET /employees`
- `POST /employees`
- `GET /employees/{employee}`
- `PATCH /employees/{employee}`
- `POST /employees/{employee}/transfer`

## Attendance

- `GET /attendance/live`
- `GET /attendance/raw-logs`
- `GET /attendance/daily`
- `POST /attendance/manual-entry`
- `POST /attendance/adjustments`
- `PATCH /attendance/adjustments/{adjustment}/approve`

## Devices

- `GET /devices`
- `POST /devices`
- `PATCH /devices/{device}`
- `POST /devices/{device}/sync-users`
- `POST /devices/{device}/pull-logs`
- `POST /devices/{device}/restart`

## Payroll

- `GET /payroll/periods`
- `POST /payroll/run`
- `PATCH /payroll/{period}/approve`
- `PATCH /payroll/{period}/lock`
- `GET /payroll/{period}/payslips/{employee}`
- `GET /payroll/{period}/bank-sheet`

## Reports

- `GET /reports/attendance/daily`
- `GET /reports/attendance/monthly`
- `GET /reports/attendance/raw-logs`
- `GET /reports/payroll/salary-sheet`
- `GET /reports/payroll/ot-summary`
