| POST | /api/auth/login | 登入 |
| POST | /api/auth/change-password | 修改密碼 |
| POST | /api/auth/forgot-password | 忘記密碼(發送 OTP) |
| POST | /api/hr/import | 匯入員工名單 Excel |
| GET/POST | /api/hr/projects | 年度專案管理 |
| POST | /api/hr/projects/{id}/settle | 執行年度結算 |
| GET | /api/hr/projects/{id}/settlement-stats | 年度結算統計 |
| GET/POST/PUT/DELETE | /api/hr/virtual-departments | 虛擬部門 CRUD |
| GET | /api/hr/periods/{id}/grade-distribution | 等第配額 |
| PUT | /api/hr/participants/{id}/grade | HR 強制調整等第 |
| POST | /api/hr/participants/{id}/return | 退回上一關 |
| GET | /api/hr/periods/{id}/export | 匯出 Excel 報表 |
| GET | /api/hr/dashboard/* | 儀表板各項數據 |
| GET | /api/review/my-list | 取得待評核名單 |
| GET | /api/review/participants/{id} | 取得考核表單 |
| POST | /api/review/participants/{id}/submit | 提交評分 |
| POST | /api/review/participants/{id}/return | 退回上一關 |
| POST | /api/review/participants/{id}/save-draft | 儲存草稿 |
| POST | /api/review/participants/batch-submit | 批次提交 |
| GET | /api/hr/periods/{id}/start-notification-recipients | 考核開始通知收件人 |
| POST | /api/hr/periods/{id}/send-start-notification | 發送考核開始通知 |
| GET | /api/hr/periods/{id}/dept-report-recipients | 部門考核報告收件人 |
| POST | /api/hr/periods/{id}/send-dept-report | 發送部門考核結果報告 |
| POST | /api/hr/projects/{id}/interview-notify | 發送面談通知給審核主管(附面談表 PDF) |
| POST | /api/hr/interviews/{id}/upload | 上傳面談紀錄檔案 |
| GET | /api/hr/interviews/{id}/pdf/{type} | 下載面談表/追蹤表 PDF(type: interview/tracking) |
| DELETE | /api/hr/projects/{projectId}?password= | 刪除專案(需 HR 管理員密碼,進行中不可刪) |
| POST | /api/hr/migrate-records | 跨專案考核記錄轉移(含 dry-run 預覽) |
| GET | /api/hr/periods/{id}/protection-map | 人員管理保護狀態查詢(週期/專案鎖定、部門確認) |
| POST | /api/hr/participants/{id}/annual-narrative-check | 通過年度等第檢查站 |
| DELETE | /api/hr/participants/{id}/annual-narrative-check | 撤銷年度等第檢查站 |
| PUT | /api/hr/participants/{id}/adjust-period-score | 週期調分(等第審核用) |
| PUT | /api/hr/participants/{id}/adjust-score | 年度調分(年度結算用) |
| GET | /api/hr/projects/{projectId}/annual-detail/{employeeId} | 年度考核總覽(整合年中+年終+獎懲+調分) |
| GET | /api/hr/dashboard/flagged | 異常標記列表 |
| POST | /api/hr/participants/{id}/clear-flag | 清除異常標記 |
| POST | /api/hr/periods/{periodId}/recalc-ceilings | 重新計算等第天花板 |
| GET | /api/hr/projects/{projectId}/writeback-status | 104 回寫狀態(專案層,回傳 interviewCandidates[] 含面談逐人狀態) |
| GET | /api/hr/interviews/{id}/scanned | 預覽/下載面談掃描檔(JWT auth,blob) |
| GET | /api/hr/periods/{periodId}/writeback-status | 104 回寫 per-dept 狀態(週期層,新版) |
| POST | /api/hr/periods/{periodId}/writeback-104 | 執行單部門 104 回寫(body: {virtualDeptName, hrPassword}) |
| POST | /api/hr/periods/{periodId}/close | 週期結案(全部門 Success 後,body: {hrPassword}) |
| POST | /api/hr/periods/{periodId}/sync-104-leave | 同步 104 假勤資料 |
| POST | /api/hr/projects/{projectId}/sync-104-disciplinary | 同步 104 獎懲資料 |
| GET | /api/hr/job-level-mismatch | 職別一致性檢查 |
| POST | /api/hr/fix-job-level-mismatch | 修正職別不一致 |
| PUT | /api/hr/participants/{id}/dept-head | 設定部門主管 |
| PUT | /api/hr/participants/batch-dept-head | 批次設定部門主管 |
| GET | /api/hr/periods/{periodId}/cross-company-vdepts | 跨公司虛擬部門查詢(HR 限定) |
| GET | /api/review/periods/{periodId}/cross-company-vdepts | 跨公司虛擬部門查詢(主管版鏡像) |
| GET | /api/review/periods/{periodId}/override-logs?type=GradeReview|Settlement&forRole=hr|reviewer | 超額說明歷程(按部門累積,支援退回重送) |
| GET | /api/hr/periods/{periodId}/rating-ratio-report?password= | 評等比例一覽表 Excel 匯出(年中/年終,需 HR 管理員密碼) |
| GET | /api/hr/projects/{projectId}/rating-ratio-report?password= | 評等比例一覽表 Excel 匯出(年度總結,需 HR 管理員密碼) |