# API 명세서 — PID 157442 FSM
인증: `fsm_session` HttpOnly 쿠키. 미인증 시 401.
| Method | Path | Role | 설명 |
|--------|------|------|------|
| POST | `/api/auth/login` | public | `{email,password}` → 세션 |
| POST | `/api/auth/logout` | any | 세션 삭제 |
| GET | `/api/auth/me` | auth | 현재 사용자 |
| GET | `/api/work-orders` | auth | 작업 목록 |
| POST | `/api/work-orders` | auth | 작업 생성 |
| GET | `/api/work-orders/:id` | auth | 상세+이력+첨부+발송 |
| PATCH | `/api/work-orders/:id` | auth | 상태/필드 수정 (변경이력) |
| POST | `/api/work-orders/:id/logs` | auth | 유지보수 이력 |
| POST | `/api/work-orders/:id/photos` | auth | multipart 사진 → R2 |
| POST | `/api/work-orders/:id/pdf` | auth | PDF 생성 → R2 |
| POST | `/api/work-orders/:id/send` | auth | 이메일 발송 + 이력 |
| GET | `/api/meta/sites` | auth | 현장 목록 |
| GET | `/api/admin/dashboard` | admin | KPI |
| GET/POST | `/api/admin/users` | admin | 계정 목록/생성 |
| GET | `/api/admin/history` | admin | 변경 이력 |
| GET | `/api/admin/sends` | admin | 발송 이력 |
| GET | `/health` | public | 헬스 |
## Demo accounts
- tech@demo.fsm / demo1234
- admin@demo.fsm / demo1234