- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스) - Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포 - 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1410 lines
65 KiB
Markdown
1410 lines
65 KiB
Markdown
# GUARDiA ITSM v2.0 — 전체 기능 목록 및 API 명세서
|
|
|
|
> **Copyright © 2026 (주)지오정보기술 All Rights Reserved.**
|
|
> **Base URL:** `http://<host>:8001`
|
|
> **인증:** Bearer JWT (로그인 API 제외) — `Authorization: Bearer <token>`
|
|
> **총 API 수:** 602개 엔드포인트 / 73개 태그
|
|
|
|
---
|
|
|
|
## 목차
|
|
|
|
1. [전체 기능 목록](#1-전체-기능-목록)
|
|
2. [공통 규격](#2-공통-규격)
|
|
3. [API 명세 — 도메인별](#3-api-명세--도메인별)
|
|
- [인증 (auth)](#31-인증-auth)
|
|
- [대시보드 (dashboard)](#32-대시보드-dashboard)
|
|
- [SR 서비스요청 (tasks)](#33-sr-서비스요청-tasks)
|
|
- [첨부파일 (attachments)](#34-첨부파일-attachments)
|
|
- [작업 실행 (work)](#35-작업-실행-work)
|
|
- [승인 워크플로우 (approvals)](#36-승인-워크플로우-approvals)
|
|
- [엔지니어 배정 (assign)](#37-엔지니어-배정-assign)
|
|
- [CMDB 자산 (cmdb)](#38-cmdb-자산-cmdb)
|
|
- [기관/기관별 서버 (institutions)](#39-기관기관별-서버-institutions)
|
|
- [지식베이스 (kb / kb-agent)](#310-지식베이스-kb--kb-agent)
|
|
- [AI 자연어 명령 (nlcmd)](#311-ai-자연어-명령-nlcmd)
|
|
- [인시던트 (incidents)](#312-인시던트-incidents)
|
|
- [문제관리 (problem)](#313-문제관리-problem)
|
|
- [변경관리 (change)](#314-변경관리-change)
|
|
- [온콜 (oncall)](#315-온콜-oncall)
|
|
- [감사로그 (audit)](#316-감사로그-audit)
|
|
- [알림 (notifications)](#317-알림-notifications)
|
|
- [작업 타임테이블 (timetable)](#318-작업-타임테이블-timetable)
|
|
- [PM 점검 (pm)](#319-pm-점검-pm)
|
|
- [쉘 스크립트 (shell-scripts / ssh)](#320-쉘-스크립트-shell-scripts--ssh)
|
|
- [SSL 인증서 (ssl)](#321-ssl-인증서-ssl)
|
|
- [메신저봇 (messenger)](#322-메신저봇-messenger)
|
|
- [평가/평점 (rating)](#323-평가평점-rating)
|
|
- [배치 작업 (batch)](#324-배치-작업-batch)
|
|
- [분석/통계 (analytics)](#325-분석통계-analytics)
|
|
- [이상 탐지 (anomaly)](#326-이상-탐지-anomaly)
|
|
- [예측 유지보수 (predictive)](#327-예측-유지보수-predictive)
|
|
- [코드리뷰 (code-review)](#328-코드리뷰-code-review)
|
|
- [챗봇 (chatbot)](#329-챗봇-chatbot)
|
|
- [오케스트레이터 (orchestrator)](#330-오케스트레이터-orchestrator)
|
|
- [학습 루프 (learning)](#331-학습-루프-learning)
|
|
- [라이선스 (license)](#332-라이선스-license)
|
|
- [SI 프로젝트 (si-projects)](#333-si-프로젝트-si-projects)
|
|
- [SI WBS (si-wbs)](#334-si-wbs-si-wbs)
|
|
- [SI 요구사항 (si-requirements)](#335-si-요구사항-si-requirements)
|
|
- [SI 이슈 (si-issues)](#336-si-이슈-si-issues)
|
|
- [SI 리스크 (si-risks)](#337-si-리스크-si-risks)
|
|
- [SI 마일스톤/산출물 (si-milestones)](#338-si-마일스톤산출물-si-milestones)
|
|
- [SI 테스트 (si-tests)](#339-si-테스트-si-tests)
|
|
- [SI 산출물 (deliverables)](#340-si-산출물-deliverables)
|
|
- [SI 보고서 (si_report)](#341-si-보고서-si_report)
|
|
- [포트폴리오 (portfolio)](#342-포트폴리오-portfolio)
|
|
- [서비스 카탈로그 (catalog)](#343-서비스-카탈로그-catalog)
|
|
- [보안취약점 (vuln_scan)](#344-보안취약점-vuln_scan)
|
|
- [PAM 특권접근 (pam)](#345-pam-특권접근-pam)
|
|
- [LDAP 연동 (ldap)](#346-ldap-연동-ldap)
|
|
- [SIEM (siem)](#347-siem-siem)
|
|
- [컴플라이언스 (compliance)](#348-컴플라이언스-compliance)
|
|
- [성능 테스트 (performance)](#349-성능-테스트-performance)
|
|
- [메트릭 (metrics)](#350-메트릭-metrics)
|
|
- [FinOps (finops)](#351-finops-finops)
|
|
- [용량 관리 (capacity)](#352-용량-관리-capacity)
|
|
- [멀티테넌트 (tenants)](#353-멀티테넌트-tenants)
|
|
- [게이트웨이/외부연동 (gateway)](#354-게이트웨이외부연동-gateway)
|
|
- [그룹웨어 (groupware)](#355-그룹웨어-groupware)
|
|
- [푸시알림 (push)](#356-푸시알림-push)
|
|
- [Scouter APM (scouter)](#357-scouter-apm-scouter)
|
|
- [타임라인 (timeline)](#358-타임라인-timeline)
|
|
- [위상도 (topology)](#359-위상도-topology)
|
|
- [보고서 (report)](#360-보고서-report)
|
|
- [Vibe CD 배포 (vibe)](#361-vibe-cd-배포-vibe)
|
|
- [프로젝트 (projects)](#362-프로젝트-projects)
|
|
- [관리자 (admin)](#363-관리자-admin)
|
|
- [온보딩 (onboarding)](#364-온보딩-onboarding)
|
|
- [포털 (portal)](#365-포털-portal)
|
|
- [AI 에이전트 (agents)](#366-ai-에이전트-agents)
|
|
- [WebSocket (websocket)](#367-websocket-websocket)
|
|
- [인프라 확장 (infra_ext)](#368-인프라-확장-infra_ext)
|
|
- [공개 체크리스트 (public_checklist)](#369-공개-체크리스트-public_checklist)
|
|
4. [보안 제약](#4-보안-제약)
|
|
5. [공통 응답 코드](#5-공통-응답-코드)
|
|
|
|
---
|
|
|
|
## 1. 전체 기능 목록
|
|
|
|
### 1.1 ITSM 핵심
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 1 | SR 서비스 요청 | 접수/조회/상태전이/SLA/AI제안/대량처리 | 9 |
|
|
| 2 | 승인 워크플로우 | PM 승인/위임/기한연장/전자서명 | 6 |
|
|
| 3 | 엔지니어 배정 | 자동배정/워크로드/가용엔지니어 조회 | 3 |
|
|
| 4 | 첨부파일 | SR 첨부파일 업로드/다운로드/삭제 | 4 |
|
|
| 5 | 작업 실행 | 에이전트리스 배포 단계별 실행/시뮬레이션 | 4 |
|
|
| 6 | 인시던트 | 인시던트 CRUD/자동RCA/SR연계/통계 | 11 |
|
|
| 7 | 문제관리 | 문제레코드/RCA/해결방법/known-error | 13 |
|
|
| 8 | 변경관리 | RFC/CAB투표/동결기간/이행/롤백 | 18 |
|
|
| 9 | 온콜 | 온콜일정/에스컬레이션/순환설정 | 12 |
|
|
| 10 | SLA | 위반현황/실시간 추적 | (tasks 내) |
|
|
|
|
### 1.2 CMDB / 자산
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 11 | CMDB CI | CI 등록/조회/변경이력/관계도 | 17 |
|
|
| 12 | 기관 관리 | 기관 CRUD/담당자 관리/서버 목록 | 10 |
|
|
| 13 | 서버 자산 | 서버 확장관리/SSH연결정보 | (cmdb 내) |
|
|
|
|
### 1.3 AI / 자동화
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 14 | AI 자연어 명령 | 메신저 한줄 명령 → sLLM 파싱 → 자동 실행 | 1 |
|
|
| 15 | 이상 탐지 | 메트릭 수집/룰기반/시뮬레이션/이벤트 관리 | 15 |
|
|
| 16 | 예측 유지보수 | 수명예측/임계값/배치분석/헬스 | 9 |
|
|
| 17 | AI 에이전트 | 에이전트 CRUD/메시지/승인/파인튜닝 | 21 |
|
|
| 18 | 오케스트레이터 | 워크플로우 실행/재시도/통계 | 7 |
|
|
| 19 | 학습 루프 | 재발감지/KB효과추적/패턴마이닝/임계값 | 14 |
|
|
| 20 | 챗봇 | 세션 관리/Ollama 연동/히스토리 | 7 |
|
|
| 21 | KB 에이전트 | KB 자동생성/분석/품질관리 | 6 |
|
|
|
|
### 1.4 SI 프로젝트 관리
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 22 | SI 프로젝트 | CRUD/단계전환/체크리스트/RTM/SM전환 | 11 |
|
|
| 23 | WBS | WBS CRUD/Gantt/진척률/대량등록 | 8 |
|
|
| 24 | 요구사항 | 요구사항 CRUD/확인/통계 | 7 |
|
|
| 25 | 이슈 | 이슈 CRUD/SR생성/해결 | 8 |
|
|
| 26 | 리스크 | 리스크 매트릭스/이슈전환 | 7 |
|
|
| 27 | 마일스톤/산출물 | 마일스톤/산출물 CRUD/승인 | 12 |
|
|
| 28 | 테스트 | 테스트계획/케이스/결함/실행이력 | 18 |
|
|
| 29 | 산출물(deliverables) | 산출물 제출/검토 | 8 |
|
|
| 30 | SI 보고서 | 일간/주간/월간/발송 | 5 |
|
|
| 31 | 포트폴리오 | KPI/리소스 가용성/스킬 관리 | 7 |
|
|
|
|
### 1.5 보안 / 컴플라이언스
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 32 | 인증 | JWT/MFA/OAuth2/비밀번호변경/계정잠금 | 16 |
|
|
| 33 | 감사로그 | 해시체인/무결성검증/내보내기 | 8 |
|
|
| 34 | PAM 특권접근 | 세션승인/명령기록/체크인아웃 | 12 |
|
|
| 35 | LDAP | 디렉터리 동기화/인증/그룹매핑 | 9 |
|
|
| 36 | SIEM | 보안이벤트 수집/배치처리 | 5 |
|
|
| 37 | 취약점 스캔 | CVE조회/패치관리/CVSS계산 | 12 |
|
|
| 38 | 컴플라이언스 | 룰스캔/결과조회/엑셀리포트 | 6 |
|
|
|
|
### 1.6 운영 / 인프라
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 39 | 쉘 스크립트 | 스크립트 라이브러리 CRUD/사용횟수 | 6 |
|
|
| 40 | SSH 원격 실행 | 명령 실행/스크립트 실행 | 3 |
|
|
| 41 | SSL 인증서 | 만료점검/갱신/이력 | 6 |
|
|
| 42 | 작업 타임테이블 | 계획/실행/Excel 다운로드 | 7 |
|
|
| 43 | PM 점검 | 점검템플릿/일정/결과보고 | 13 |
|
|
| 44 | Scouter APM | 에이전트배포/메트릭/서비스/xlog | 7 |
|
|
| 45 | 위상도 | CI 관계 그래프/헬스 | 4 |
|
|
| 46 | FinOps | 예산/비용/최적화 권고 | 10 |
|
|
| 47 | 용량 관리 | 계획/알림/트렌드 | 10 |
|
|
| 48 | 인프라 확장 | K8s/ERP/Zero-Trust | 7 |
|
|
|
|
### 1.7 플랫폼 / 연동
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 49 | 메신저봇 | 웹훅/슬래시 명령(/sr /status /bulk) | 2 |
|
|
| 50 | 게이트웨이 | Jira/Confluence/외부연동/웹훅 | 14 |
|
|
| 51 | 그룹웨어 | 전자결재 연동/콜백 | 4 |
|
|
| 52 | 서비스 카탈로그 | 셀프서비스 CRUD/요청 | 8 |
|
|
| 53 | 포털 | 고객용 SR접수/공지/FAQ | 8 |
|
|
| 54 | 멀티테넌트 | 테넌트 CRUD/쿼터 관리 | 7 |
|
|
| 55 | 라이선스 | 활성화/체험판/이력 | 6 |
|
|
| 56 | 푸시알림 | PWA Web Push/구독 관리 | 4 |
|
|
| 57 | 알림 | 이메일/메신저 테스트/로그 | 4 |
|
|
| 58 | 보고서 | 월별/예약/내보내기 | 7 |
|
|
| 59 | 메트릭 | Prometheus/Grafana 연동 | 6 |
|
|
| 60 | 분석 통계 | SR추이/배포통계/엔지니어 워크로드 | 10 |
|
|
| 61 | 배치 작업 | 스케줄러/수동실행/로그스트림 | 11 |
|
|
|
|
### 1.8 개발자 / 관리자
|
|
|
|
| 번호 | 기능 영역 | 주요 기능 | API 수 |
|
|
|-----|---------|---------|------|
|
|
| 62 | 코드리뷰 | AI 코드리뷰/결함조회/빠른스캔 | 6 |
|
|
| 63 | Vibe CD | GitOps 배포/영향분석/PM승인/Jenkins | 15 |
|
|
| 64 | 관리자 | About/백업복원/헬스체크/에러코드 | 7 |
|
|
| 65 | 온보딩 | 8단계 초기설정 챗봇 가이드 | 7 |
|
|
| 66 | WebSocket | 실시간 이벤트/채널 브로드캐스트 | 2 |
|
|
| 67 | 타임라인 | 전체 변경 타임라인/요약 | 2 |
|
|
| 68 | 지식베이스 | 문서 검색/SR 유사문서 제안 | 3 |
|
|
| 69 | 평점 | SR 완료 후 고객 만족도 | 2 |
|
|
| 70 | 공개 체크리스트 | 운영 상태 페이지(Statuspage) | 4 |
|
|
| 71 | 프로젝트 | 배포 프로젝트 CRUD | 5 |
|
|
|
|
---
|
|
|
|
## 2. 공통 규격
|
|
|
|
### 2.1 인증
|
|
|
|
```
|
|
Authorization: Bearer <JWT 토큰>
|
|
Content-Type: application/json
|
|
```
|
|
|
|
- 토큰 만료: 24시간 (환경변수 `ACCESS_TOKEN_EXPIRE_MINUTES`)
|
|
- MFA: TOTP 기반 2단계 인증 (`POST /api/auth/mfa/setup` → `POST /api/auth/login/mfa`)
|
|
- OAuth2: 외부 IdP 연동 (`GET /api/auth/oauth/{provider}/start`)
|
|
|
|
### 2.2 공통 파라미터
|
|
|
|
| 파라미터 | 위치 | 설명 |
|
|
|---------|------|------|
|
|
| `skip` | query | 페이지 오프셋 (기본 0) |
|
|
| `limit` | query | 페이지 크기 (기본 20, 최대 200) |
|
|
| `tenant_id` | header | 멀티테넌트 분리 키 (X-Tenant-ID) |
|
|
|
|
### 2.3 역할(RBAC)
|
|
|
|
| 역할 | 코드 | 권한 범위 |
|
|
|-----|------|---------|
|
|
| 관리자 | `admin` | 전체 |
|
|
| PM | `pm` | 승인/보고/SLA |
|
|
| SM 엔지니어 | `sm` | SR 처리/배포/SSH |
|
|
| 개발자 | `dev` | 코드리뷰/Vibe CD |
|
|
| 고객 | `customer` | 포털 SR접수/조회 |
|
|
| 뷰어 | `viewer` | 읽기 전용 |
|
|
|
|
---
|
|
|
|
## 3. API 명세 — 도메인별
|
|
|
|
---
|
|
|
|
### 3.1 인증 (auth)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/auth/login` | ID/PW 로그인, JWT 반환 | 불필요 |
|
|
| POST | `/api/auth/login/mfa` | MFA 코드 검증 후 최종 토큰 반환 | 불필요 |
|
|
| POST | `/api/auth/logout` | 토큰 무효화 | 필요 |
|
|
| GET | `/api/auth/me` | 현재 로그인 사용자 정보 | 필요 |
|
|
| POST | `/api/auth/change-password` | 비밀번호 변경 | 필요 |
|
|
| POST | `/api/auth/mfa/setup` | MFA TOTP 시드 생성 | 필요 |
|
|
| POST | `/api/auth/mfa/enable` | MFA 활성화 (코드 검증) | 필요 |
|
|
| POST | `/api/auth/mfa/disable` | MFA 비활성화 | 필요 |
|
|
| GET | `/api/auth/mfa/status` | MFA 활성화 여부 조회 | 필요 |
|
|
| GET | `/api/auth/users` | 전체 사용자 목록 (admin) | 필요(admin) |
|
|
| GET | `/api/auth/admin/users/{user_id}/lock-status` | 계정 잠금 상태 조회 | 필요(admin) |
|
|
| POST | `/api/auth/admin/users/{user_id}/unlock` | 계정 잠금 해제 | 필요(admin) |
|
|
| POST | `/api/auth/admin/users/{user_id}/mfa-reset` | MFA 강제 초기화 | 필요(admin) |
|
|
| GET | `/api/auth/oauth/providers` | OAuth2 제공자 목록 | 불필요 |
|
|
| GET | `/api/auth/oauth/{provider}/start` | OAuth2 인증 시작 (리다이렉트) | 불필요 |
|
|
| GET | `/api/auth/oauth/{provider}/callback` | OAuth2 콜백, JWT 반환 | 불필요 |
|
|
|
|
---
|
|
|
|
### 3.2 대시보드 (dashboard)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/dashboard/me` | 내 SR/배정/SLA 현황 요약 | 필요 |
|
|
| GET | `/api/dashboard/stats/trend` | 7일 SR 추이 (JSON) | 필요 |
|
|
| GET | `/api/dashboard/events` | SSE 실시간 이벤트 스트림 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.3 SR 서비스요청 (tasks)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/tasks` | SR 목록 (필터: status/priority/category) | 필요 |
|
|
| POST | `/api/tasks` | SR 신규 접수 | 필요 |
|
|
| GET | `/api/tasks/{sr_id}` | SR 상세 조회 | 필요 |
|
|
| PATCH | `/api/tasks/{sr_id}/status` | SR 상태 전이 | 필요 |
|
|
| GET | `/api/tasks/stats` | SR 통계 | 필요 |
|
|
| GET | `/api/tasks/sla/violations` | SLA 위반 목록 | 필요 |
|
|
| GET | `/api/tasks/{sr_id}/sla` | SR 개별 SLA 현황 | 필요 |
|
|
| GET | `/api/tasks/{sr_id}/ai-suggestion` | AI 처리방법 제안 (Ollama) | 필요 |
|
|
| POST | `/api/tasks/bulk` | SR 대량 상태 변경 | 필요(pm/admin) |
|
|
|
|
**SR 상태 전이:**
|
|
```
|
|
접수(open) → AI파싱(parsing) → 승인대기(pending) → 승인(approved)
|
|
→ 진행중(in_progress) → PM검증(pm_review) → 완료(closed)
|
|
→ 취소(cancelled) / 거절(rejected)
|
|
```
|
|
|
|
**SLA 기준 (우선순위별):**
|
|
|
|
| 우선순위 | 응답 | 해결 |
|
|
|---------|------|------|
|
|
| CRITICAL | 15분 | 2시간 |
|
|
| HIGH | 1시간 | 4시간 |
|
|
| MEDIUM | 4시간 | 24시간 |
|
|
| LOW | 24시간 | 72시간 |
|
|
|
|
---
|
|
|
|
### 3.4 첨부파일 (attachments)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/tasks/{sr_id}/attachments` | 파일 업로드 (multipart) | 필요 |
|
|
| GET | `/api/tasks/{sr_id}/attachments` | 첨부파일 목록 | 필요 |
|
|
| GET | `/api/tasks/{sr_id}/attachments/{att_id}/download` | 파일 다운로드 | 필요 |
|
|
| DELETE | `/api/tasks/{sr_id}/attachments/{att_id}` | 첨부파일 삭제 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.5 작업 실행 (work)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/work/{sr_id}` | 작업 단계 목록 조회 | 필요 |
|
|
| POST | `/api/work/{sr_id}/step` | 작업 단계 실행 (SSH/SFTP) | 필요(sm) |
|
|
| POST | `/api/work/{sr_id}/simulate` | 배포 시뮬레이션 (드라이런) | 필요(sm) |
|
|
| POST | `/api/work/{sr_id}/complete` | 작업 완료 처리 | 필요(sm) |
|
|
|
|
**실행 시퀀스:** 백업 → 배포 → 헬스체크 → (실패 시) 자동 롤백
|
|
|
|
---
|
|
|
|
### 3.6 승인 워크플로우 (approvals)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/approvals/{sr_id}` | SR 승인 목록 조회 | 필요 |
|
|
| POST | `/api/approvals/{sr_id}` | 승인 요청 생성 | 필요(sm) |
|
|
| POST | `/api/approvals/{approval_id}/sign` | 승인/거절 처리 (전자서명) | 필요(pm) |
|
|
| POST | `/api/approvals/{approval_id}/delegate` | 승인 위임 | 필요(pm) |
|
|
| POST | `/api/approvals/{approval_id}/extend-deadline` | 승인 기한 연장 | 필요(pm/admin) |
|
|
| GET | `/api/approvals/pending/overdue` | 기한 초과 승인 목록 | 필요(pm/admin) |
|
|
|
|
---
|
|
|
|
### 3.7 엔지니어 배정 (assign)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/assign/engineers` | 가용 엔지니어 목록 | 필요 |
|
|
| GET | `/api/assign/workload` | 엔지니어별 워크로드 | 필요 |
|
|
| POST | `/api/assign/{sr_id}` | SR에 엔지니어 자동 배정 | 필요(pm/admin) |
|
|
|
|
---
|
|
|
|
### 3.8 CMDB 자산 (cmdb)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/cmdb/ci` | CI 목록 (필터: type/status) | 필요 |
|
|
| POST | `/api/cmdb/ci` | CI 등록 | 필요(admin) |
|
|
| GET | `/api/cmdb/ci/{ci_id}` | CI 상세 조회 | 필요 |
|
|
| PATCH | `/api/cmdb/ci/{ci_id}` | CI 수정 | 필요(admin) |
|
|
| DELETE | `/api/cmdb/ci/{ci_id}` | CI 삭제 | 필요(admin) |
|
|
| GET | `/api/cmdb/ci/{ci_id}/history` | CI 변경 이력 | 필요 |
|
|
| GET | `/api/cmdb/ci/{ci_id}/relations` | CI 관계 목록 | 필요 |
|
|
| POST | `/api/cmdb/ci/relations` | CI 관계 생성 | 필요(admin) |
|
|
| DELETE | `/api/cmdb/ci/relations/{relation_id}` | CI 관계 삭제 | 필요(admin) |
|
|
| GET | `/api/cmdb/ci/stats` | CI 통계 | 필요 |
|
|
| POST | `/api/cmdb/ci/import-servers` | 서버 목록 일괄 임포트 | 필요(admin) |
|
|
| GET | `/api/cmdb/servers` | 서버 자산 목록 | 필요 |
|
|
| POST | `/api/cmdb/servers` | 서버 등록 | 필요(admin) |
|
|
| GET | `/api/cmdb/servers/{server_id}` | 서버 상세 (보안필드 제외) | 필요 |
|
|
| PATCH | `/api/cmdb/servers/{server_id}` | 서버 정보 수정 | 필요(admin) |
|
|
| GET | `/api/cmdb/institutions` | 기관 목록 (CMDB 뷰) | 필요 |
|
|
| GET | `/api/cmdb/institutions/{inst_code}/servers` | 기관별 서버 목록 | 필요 |
|
|
|
|
> **보안:** `ip_addr`, `ssh_user`, `os_pw_enc` 필드는 API 응답에서 완전 제외
|
|
|
|
---
|
|
|
|
### 3.9 기관/기관별 서버 (institutions)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/institutions` | 기관 목록 | 필요 |
|
|
| POST | `/api/institutions` | 기관 등록 | 필요(admin) |
|
|
| GET | `/api/institutions/{inst_code}` | 기관 상세 | 필요 |
|
|
| PATCH | `/api/institutions/{inst_code}` | 기관 정보 수정 | 필요(admin) |
|
|
| DELETE | `/api/institutions/{inst_code}` | 기관 삭제 | 필요(admin) |
|
|
| GET | `/api/institutions/{inst_code}/servers` | 기관 소속 서버 목록 | 필요 |
|
|
| GET | `/api/institutions/{inst_code}/contacts` | 기관 담당자 목록 | 필요 |
|
|
| POST | `/api/institutions/{inst_code}/contacts` | 담당자 등록 | 필요(admin) |
|
|
| PATCH | `/api/institutions/{inst_code}/contacts/{contact_id}` | 담당자 수정 | 필요(admin) |
|
|
| DELETE | `/api/institutions/{inst_code}/contacts/{contact_id}` | 담당자 삭제 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.10 지식베이스 (kb / kb-agent)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/kb` | KB 전체 검색 | 필요 |
|
|
| GET | `/api/kb/list` | KB 목록 | 필요 |
|
|
| GET | `/api/kb/suggest/{sr_id}` | SR 유사 KB 자동 제안 | 필요 |
|
|
| POST | `/api/kb-agent/analyze/{sr_id}` | SR → KB 자동 생성 분석 | 필요(sm) |
|
|
| GET | `/api/kb-agent/candidates` | KB 생성 후보 목록 | 필요 |
|
|
| POST | `/api/kb-agent/kb` | KB 저장 | 필요(sm) |
|
|
| PUT | `/api/kb-agent/kb/{kb_id}` | KB 수정 | 필요(sm) |
|
|
| POST | `/api/kb-agent/run` | KB 에이전트 수동 실행 | 필요(admin) |
|
|
| GET | `/api/kb-agent/stats` | KB 에이전트 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.11 AI 자연어 명령 (nlcmd)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/nlcmd` | 자연어 명령 처리 (Ollama sLLM 파싱 → 실행) | 필요 |
|
|
|
|
**요청 예시:**
|
|
```json
|
|
{
|
|
"text": "서버 web-01 서비스 재시작해줘",
|
|
"messenger_user": "hong@example.com"
|
|
}
|
|
```
|
|
|
|
**응답:** sLLM이 JSON으로 파싱한 의도(intent) + 실행 결과
|
|
|
|
---
|
|
|
|
### 3.12 인시던트 (incidents)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/incidents` | 인시던트 목록 | 필요 |
|
|
| POST | `/api/incidents` | 인시던트 생성 | 필요 |
|
|
| GET | `/api/incidents/{incident_id}` | 인시던트 상세 | 필요 |
|
|
| PATCH | `/api/incidents/{incident_id}` | 인시던트 수정 | 필요 |
|
|
| PATCH | `/api/incidents/{incident_id}/status` | 상태 변경 | 필요 |
|
|
| POST | `/api/incidents/{incident_id}/auto-rca` | AI 자동 RCA 분석 | 필요(sm) |
|
|
| POST | `/api/incidents/{incident_id}/close` | 인시던트 종료 | 필요(pm) |
|
|
| POST | `/api/incidents/{incident_id}/link-sr` | SR 연계 | 필요 |
|
|
| DELETE | `/api/incidents/{incident_id}/link-sr/{sr_id}` | SR 연계 해제 | 필요 |
|
|
| GET | `/api/incidents/{incident_id}/srs` | 연계 SR 목록 | 필요 |
|
|
| GET | `/api/incidents/stats` | 인시던트 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.13 문제관리 (problem)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/problem/` | 문제 목록 | 필요 |
|
|
| POST | `/api/problem/` | 문제 생성 | 필요 |
|
|
| GET | `/api/problem/{prb_id}` | 문제 상세 | 필요 |
|
|
| PATCH | `/api/problem/{prb_id}` | 문제 수정 | 필요 |
|
|
| POST | `/api/problem/{prb_id}/rca` | RCA 등록 | 필요(sm) |
|
|
| POST | `/api/problem/{prb_id}/auto-rca` | AI 자동 RCA | 필요(sm) |
|
|
| POST | `/api/problem/{prb_id}/workaround` | 임시 해결방법 등록 | 필요(sm) |
|
|
| POST | `/api/problem/{prb_id}/resolve` | 영구 해결 처리 | 필요(sm) |
|
|
| POST | `/api/problem/{prb_id}/close` | 종료 | 필요(pm) |
|
|
| POST | `/api/problem/{prb_id}/notes` | 메모 추가 | 필요 |
|
|
| GET | `/api/problem/{prb_id}/notes` | 메모 목록 | 필요 |
|
|
| GET | `/api/problem/known-errors` | Known Error DB | 필요 |
|
|
| GET | `/api/problem/stats` | 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.14 변경관리 (change)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/change/rfc` | RFC 목록 | 필요 |
|
|
| POST | `/api/change/rfc` | RFC 생성 | 필요 |
|
|
| GET | `/api/change/rfc/{rfc_id}` | RFC 상세 | 필요 |
|
|
| PATCH | `/api/change/rfc/{rfc_id}` | RFC 수정 | 필요 |
|
|
| POST | `/api/change/rfc/{rfc_id}/submit` | RFC 제출 (CAB 검토 요청) | 필요 |
|
|
| POST | `/api/change/rfc/{rfc_id}/vote` | CAB 투표 | 필요(pm) |
|
|
| GET | `/api/change/rfc/{rfc_id}/votes` | 투표 결과 조회 | 필요 |
|
|
| POST | `/api/change/rfc/{rfc_id}/decide` | CAB 최종 결정 | 필요(admin) |
|
|
| POST | `/api/change/rfc/{rfc_id}/schedule` | 이행 일정 예약 | 필요(pm) |
|
|
| POST | `/api/change/rfc/{rfc_id}/start` | 이행 시작 | 필요(sm) |
|
|
| POST | `/api/change/rfc/{rfc_id}/complete` | 이행 완료 | 필요(sm) |
|
|
| POST | `/api/change/rfc/{rfc_id}/fail` | 이행 실패/롤백 | 필요(sm) |
|
|
| GET | `/api/change/calendar` | 변경 캘린더 | 필요 |
|
|
| GET | `/api/change/freeze` | 동결 기간 목록 | 필요 |
|
|
| POST | `/api/change/freeze` | 동결 기간 등록 | 필요(admin) |
|
|
| GET | `/api/change/freeze/check` | 현재 동결 여부 확인 | 필요 |
|
|
| DELETE | `/api/change/freeze/{freeze_id}` | 동결 기간 삭제 | 필요(admin) |
|
|
| GET | `/api/change/stats` | 변경 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.15 온콜 (oncall)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/oncall` | 온콜 일정 목록 | 필요 |
|
|
| POST | `/api/oncall` | 온콜 일정 등록 | 필요(admin) |
|
|
| PATCH | `/api/oncall/{oncall_id}` | 온콜 수정 | 필요(admin) |
|
|
| DELETE | `/api/oncall/{oncall_id}` | 온콜 삭제 | 필요(admin) |
|
|
| POST | `/api/oncall/bulk` | 대량 일정 등록 | 필요(admin) |
|
|
| GET | `/api/oncall/today` | 오늘 온콜 담당자 | 필요 |
|
|
| GET | `/api/oncall/week` | 이번 주 온콜 일정 | 필요 |
|
|
| GET | `/api/oncall/on-duty` | 현재 온콜 담당자 | 필요 |
|
|
| POST | `/api/oncall/escalate` | 에스컬레이션 트리거 | 필요 |
|
|
| GET | `/api/oncall/rotate/config` | 순환 설정 조회 | 필요 |
|
|
| PUT | `/api/oncall/rotate/config` | 순환 설정 저장 | 필요(admin) |
|
|
| POST | `/api/oncall/rotate/trigger` | 순환 즉시 실행 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.16 감사로그 (audit)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/audit` | 감사 로그 목록 (필터: actor/action/from/to) | 필요(admin) |
|
|
| GET | `/api/audit/{log_id}` | 로그 단건 조회 | 필요(admin) |
|
|
| POST | `/api/audit/record` | 로그 직접 기록 (내부용) | 필요(admin) |
|
|
| GET | `/api/audit/entity/{entity_type}/{entity_id}` | 엔티티별 로그 | 필요 |
|
|
| GET | `/api/audit/stats` | 감사 통계 | 필요(admin) |
|
|
| GET | `/api/audit/export` | 로그 내보내기 (CSV) | 필요(admin) |
|
|
| GET | `/api/audit/verify` | 전체 해시체인 무결성 검증 | 필요(admin) |
|
|
| GET | `/api/audit/verify/{from_id}/{to_id}` | 구간 무결성 검증 | 필요(admin) |
|
|
|
|
> **해시 알고리즘:** SHA-256 체인. `hash = SHA256(prev_hash + actor + action + detail + timestamp)`
|
|
|
|
---
|
|
|
|
### 3.17 알림 (notifications)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/notifications/config` | 알림 설정 조회 | 필요(admin) |
|
|
| GET | `/api/notifications/log` | 알림 발송 이력 | 필요(admin) |
|
|
| POST | `/api/notifications/test-email` | 이메일 테스트 발송 | 필요(admin) |
|
|
| POST | `/api/notifications/test-messenger` | 메신저 테스트 발송 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.18 작업 타임테이블 (timetable)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/timetable` | 타임테이블 목록 | 필요 |
|
|
| POST | `/api/timetable` | 타임테이블 생성 | 필요(pm/admin) |
|
|
| GET | `/api/timetable/{timetable_id}` | 타임테이블 상세 | 필요 |
|
|
| PATCH | `/api/timetable/{timetable_id}` | 타임테이블 수정 | 필요(pm/admin) |
|
|
| DELETE | `/api/timetable/{timetable_id}` | 타임테이블 삭제 | 필요(admin) |
|
|
| GET | `/api/timetable/export/excel` | Excel 다운로드 (.xlsx) | 필요 |
|
|
| GET | `/api/timetable/stats` | 타임테이블 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.19 PM 점검 (pm)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/pm/templates` | 점검 템플릿 목록 | 필요 |
|
|
| POST | `/api/pm/templates` | 템플릿 생성 | 필요(pm/admin) |
|
|
| PATCH | `/api/pm/templates/{template_id}` | 템플릿 수정 | 필요(pm/admin) |
|
|
| DELETE | `/api/pm/templates/{template_id}` | 템플릿 삭제 | 필요(admin) |
|
|
| GET | `/api/pm/schedules` | 점검 일정 목록 | 필요 |
|
|
| POST | `/api/pm/schedules` | 일정 등록 | 필요(pm/admin) |
|
|
| PATCH | `/api/pm/schedules/{schedule_id}` | 일정 수정 | 필요(pm/admin) |
|
|
| DELETE | `/api/pm/schedules/{schedule_id}` | 일정 삭제 | 필요(admin) |
|
|
| POST | `/api/pm/schedules/{schedule_id}/trigger` | 점검 즉시 실행 | 필요(pm/admin) |
|
|
| GET | `/api/pm/results/{timetable_id}` | 점검 결과 목록 | 필요 |
|
|
| POST | `/api/pm/results/{timetable_id}/init` | 결과 초기화 | 필요(sm) |
|
|
| PATCH | `/api/pm/results/{result_id}` | 결과 항목 수정 | 필요(sm) |
|
|
| GET | `/api/pm/results/{timetable_id}/report` | 결과 보고서 생성 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.20 쉘 스크립트 (shell-scripts / ssh)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/shell-scripts` | 스크립트 라이브러리 목록 | 필요 |
|
|
| POST | `/api/shell-scripts` | 스크립트 등록 | 필요(sm/admin) |
|
|
| GET | `/api/shell-scripts/{script_id}` | 스크립트 상세 | 필요 |
|
|
| PATCH | `/api/shell-scripts/{script_id}` | 스크립트 수정 | 필요(sm/admin) |
|
|
| DELETE | `/api/shell-scripts/{script_id}` | 스크립트 삭제 | 필요(admin) |
|
|
| POST | `/api/shell-scripts/{script_id}/increment-use` | 사용 횟수 증가 | 필요 |
|
|
| POST | `/api/ssh/exec` | SSH 명령 직접 실행 | 필요(sm) |
|
|
| POST | `/api/ssh/script` | SSH 스크립트 실행 | 필요(sm) |
|
|
| GET | `/api/ssh/scripts` | 최근 실행 스크립트 이력 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.21 SSL 인증서 (ssl)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/ssl/summary` | 전체 SSL 현황 요약 | 필요 |
|
|
| GET | `/api/ssl/expiring` | 만료 임박 인증서 목록 (30일 내) | 필요 |
|
|
| POST | `/api/ssl/check/{server_id}` | 서버 SSL 즉시 점검 | 필요(sm) |
|
|
| GET | `/api/ssl/history/{server_id}` | 인증서 이력 | 필요 |
|
|
| POST | `/api/ssl/renew/{server_id}` | 인증서 갱신 요청 | 필요(sm) |
|
|
| POST | `/api/ssl/renew-callback` | 갱신 완료 콜백 (ACME) | 불필요 |
|
|
|
|
---
|
|
|
|
### 3.22 메신저봇 (messenger)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/messenger/webhook` | 메신저 웹훅 수신 (카카오워크/네이버웍스/슬랙) | 서명검증 |
|
|
| POST | `/api/messenger/bot/command` | 슬래시 명령 처리 (/sr /status /license /bulk) | 서명검증 |
|
|
|
|
**지원 명령어 (25개):**
|
|
|
|
| 명령어 | 설명 |
|
|
|-------|------|
|
|
| `/sr` | SR 접수 |
|
|
| `/status` | SR 상태 조회 |
|
|
| `/assign` | 엔지니어 배정 |
|
|
| `/deploy` | 배포 실행 |
|
|
| `/rollback` | 롤백 |
|
|
| `/health` | 서버 헬스 체크 |
|
|
| `/restart` | 서비스 재시작 |
|
|
| `/log` | 로그 조회 |
|
|
| `/incident` | 인시던트 생성 |
|
|
| `/oncall` | 온콜 담당자 조회 |
|
|
| `/license` | 라이선스 상태 |
|
|
| `/bulk` | 대량 SR 처리 |
|
|
| ... (13개 추가) | ... |
|
|
|
|
---
|
|
|
|
### 3.23 평가/평점 (rating)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/rating/{sr_id}` | SR 완료 후 만족도 평가 (1~5점) | 필요(customer) |
|
|
| GET | `/api/rating/{sr_id}` | SR 평가 조회 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.24 배치 작업 (batch)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/batch/jobs` | 배치 작업 목록 | 필요(admin) |
|
|
| POST | `/api/batch/jobs` | 배치 작업 등록 | 필요(admin) |
|
|
| GET | `/api/batch/jobs/{job_id}` | 작업 상세 | 필요(admin) |
|
|
| PATCH | `/api/batch/jobs/{job_id}` | 작업 수정 | 필요(admin) |
|
|
| DELETE | `/api/batch/jobs/{job_id}` | 작업 삭제 | 필요(admin) |
|
|
| POST | `/api/batch/jobs/{job_id}/run` | 즉시 실행 | 필요(admin) |
|
|
| POST | `/api/batch/jobs/{job_id}/enable` | 활성화 | 필요(admin) |
|
|
| POST | `/api/batch/jobs/{job_id}/disable` | 비활성화 | 필요(admin) |
|
|
| GET | `/api/batch/jobs/{job_id}/runs` | 실행 이력 목록 | 필요(admin) |
|
|
| GET | `/api/batch/runs/{run_id}` | 실행 결과 상세 | 필요(admin) |
|
|
| GET | `/api/batch/runs/{run_id}/stream` | 실행 로그 스트림 (SSE) | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.25 분석/통계 (analytics)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/analytics/sr/trend` | SR 발생 추이 | 필요 |
|
|
| GET | `/api/analytics/sr/resolution-time` | SR 처리 시간 분포 | 필요 |
|
|
| GET | `/api/analytics/deploy/summary` | 배포 요약 통계 | 필요 |
|
|
| GET | `/api/analytics/deploy/trend` | 배포 추이 | 필요 |
|
|
| GET | `/api/analytics/deploy/by-project` | 프로젝트별 배포 통계 | 필요 |
|
|
| GET | `/api/analytics/engineer/overview` | 엔지니어 종합 현황 | 필요 |
|
|
| GET | `/api/analytics/engineer/workload` | 엔지니어 워크로드 상세 | 필요 |
|
|
| GET | `/api/analytics/admin/cache/info` | 캐시 현황 | 필요(admin) |
|
|
| POST | `/api/analytics/admin/cache/flush` | 캐시 초기화 | 필요(admin) |
|
|
| GET | `/api/analytics/admin/ratelimit/info` | Rate Limit 현황 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.26 이상 탐지 (anomaly)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/anomaly/metrics` | 메트릭 단건 수집 | 필요 |
|
|
| POST | `/api/anomaly/metrics/batch` | 메트릭 배치 수집 | 필요 |
|
|
| GET | `/api/anomaly/metrics/{source}` | 소스별 메트릭 조회 | 필요 |
|
|
| POST | `/api/anomaly/detect` | 이상 탐지 즉시 실행 | 필요(sm/admin) |
|
|
| GET | `/api/anomaly/events` | 이상 이벤트 목록 | 필요 |
|
|
| GET | `/api/anomaly/events/{event_id}` | 이상 이벤트 상세 | 필요 |
|
|
| PATCH | `/api/anomaly/events/{event_id}/acknowledge` | 이상 확인 처리 | 필요(sm) |
|
|
| PATCH | `/api/anomaly/events/{event_id}/resolve` | 이상 해결 처리 | 필요(sm) |
|
|
| PATCH | `/api/anomaly/events/{event_id}/false-positive` | 오탐 처리 | 필요(sm) |
|
|
| GET | `/api/anomaly/rules` | 탐지 룰 목록 | 필요 |
|
|
| POST | `/api/anomaly/rules` | 룰 등록 | 필요(admin) |
|
|
| DELETE | `/api/anomaly/rules/{rule_id}` | 룰 삭제 | 필요(admin) |
|
|
| PATCH | `/api/anomaly/rules/{rule_id}/toggle` | 룰 활성화/비활성화 | 필요(admin) |
|
|
| POST | `/api/anomaly/simulate` | 이상 탐지 시뮬레이션 | 필요(admin) |
|
|
| GET | `/api/anomaly/summary` | 이상 탐지 요약 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.27 예측 유지보수 (predictive)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/predictive/analyze/{source}` | 소스별 예측 분석 실행 | 필요(sm) |
|
|
| POST | `/api/predictive/batch` | 전체 배치 예측 | 필요(admin) |
|
|
| GET | `/api/predictive/health/{source}` | 소스 헬스 예측 | 필요 |
|
|
| GET | `/api/predictive/lifecycle` | 전체 수명주기 목록 | 필요 |
|
|
| GET | `/api/predictive/lifecycle/{source}` | 소스별 수명 예측 | 필요 |
|
|
| POST | `/api/predictive/simulate` | 예측 시뮬레이션 | 필요(admin) |
|
|
| GET | `/api/predictive/stats` | 예측 통계 | 필요 |
|
|
| GET | `/api/predictive/thresholds` | 임계값 목록 | 필요 |
|
|
| PUT | `/api/predictive/thresholds/{metric_type}` | 임계값 수정 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.28 코드리뷰 (code-review)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/code-review` | AI 코드리뷰 요청 (Ollama 분석) | 필요(dev/sm) |
|
|
| GET | `/api/code-review/{review_id}` | 리뷰 결과 조회 | 필요 |
|
|
| GET | `/api/code-review/{review_id}/findings` | 결함 목록 | 필요 |
|
|
| GET | `/api/code-review/project/{project_id}` | 프로젝트 리뷰 이력 | 필요 |
|
|
| GET | `/api/code-review/projects/list` | 리뷰 대상 프로젝트 목록 | 필요 |
|
|
| POST | `/api/code-review/quick-scan` | 빠른 보안 스캔 | 필요(dev) |
|
|
|
|
---
|
|
|
|
### 3.29 챗봇 (chatbot)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/chatbot/message` | 메시지 전송 (Ollama 응답) | 필요 |
|
|
| GET | `/api/chatbot/sessions` | 세션 목록 | 필요 |
|
|
| GET | `/api/chatbot/sessions/{session_key}` | 세션 상세 | 필요 |
|
|
| DELETE | `/api/chatbot/sessions/{session_key}` | 세션 삭제 | 필요 |
|
|
| POST | `/api/chatbot/sessions/{session_key}/reset` | 대화 초기화 | 필요 |
|
|
| GET | `/api/chatbot/history/{session_key}` | 대화 이력 | 필요 |
|
|
| GET | `/api/chatbot/stats` | 챗봇 사용 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.30 오케스트레이터 (orchestrator)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/orchestrator/templates` | 워크플로우 템플릿 목록 | 필요 |
|
|
| POST | `/api/orchestrator/workflows` | 워크플로우 인스턴스 실행 | 필요(sm/admin) |
|
|
| GET | `/api/orchestrator/workflows` | 실행 중인 워크플로우 목록 | 필요 |
|
|
| GET | `/api/orchestrator/workflows/{instance_id}` | 워크플로우 상태 조회 | 필요 |
|
|
| DELETE | `/api/orchestrator/workflows/{instance_id}` | 워크플로우 취소 | 필요(admin) |
|
|
| POST | `/api/orchestrator/workflows/{instance_id}/retry` | 실패 단계 재시도 | 필요(sm) |
|
|
| GET | `/api/orchestrator/stats` | 오케스트레이터 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.31 학습 루프 (learning)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/learning/feedback` | 처리결과 피드백 등록 | 필요(sm) |
|
|
| GET | `/api/learning/feedback` | 피드백 목록 | 필요 |
|
|
| POST | `/api/learning/feedback/{feedback_id}/check` | 피드백 처리 확인 | 필요 |
|
|
| POST | `/api/learning/detect-recurrence` | 재발 패턴 탐지 | 필요(sm) |
|
|
| GET | `/api/learning/patterns` | 학습된 패턴 목록 | 필요 |
|
|
| GET | `/api/learning/patterns/{pattern_id}` | 패턴 상세 | 필요 |
|
|
| GET | `/api/learning/stats` | 학습 통계 | 필요 |
|
|
| GET | `/api/learning/thresholds` | 적응형 임계값 목록 | 필요 |
|
|
| POST | `/api/learning/thresholds/calibrate` | 특정 임계값 보정 | 필요(admin) |
|
|
| POST | `/api/learning/thresholds/calibrate-all` | 전체 임계값 보정 | 필요(admin) |
|
|
| POST | `/api/learning/thresholds/outcome` | 임계값 결과 기록 | 필요 |
|
|
| POST | `/api/learning/thresholds/missed` | 놓친 탐지 기록 | 필요 |
|
|
| GET | `/api/learning/lessons` | 학습 교훈 목록 | 필요 |
|
|
| POST | `/api/learning/mine` | 패턴 마이닝 즉시 실행 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.32 라이선스 (license)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/license/status` | 라이선스 현황 | 필요 |
|
|
| POST | `/api/license/activate` | 라이선스 키 활성화 | 필요(admin) |
|
|
| POST | `/api/license/trial` | 체험판 키 발급 (`days` 파라미터) | 불필요 |
|
|
| POST | `/api/license/verify` | 라이선스 키 검증 | 불필요 |
|
|
| GET | `/api/license/history` | 라이선스 이력 | 필요(admin) |
|
|
| DELETE | `/api/license/` | 라이선스 초기화 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.33 SI 프로젝트 (si-projects)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects` | SI 프로젝트 목록 | 필요 |
|
|
| POST | `/api/si/projects` | 프로젝트 생성 | 필요(pm/admin) |
|
|
| GET | `/api/si/projects/{project_id}` | 프로젝트 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}` | 프로젝트 수정 | 필요(pm/admin) |
|
|
| DELETE | `/api/si/projects/{project_id}` | 프로젝트 삭제 | 필요(admin) |
|
|
| PATCH | `/api/si/projects/{project_id}/phase` | 단계 전환 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/summary` | 프로젝트 요약 대시보드 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/checklist` | 완료 체크리스트 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/checklist/{checklist_id}` | 체크리스트 항목 업데이트 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/rtm` | 요구사항 추적 매트릭스 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/convert-to-sm` | SI → SM 전환 | 필요(pm/admin) |
|
|
|
|
---
|
|
|
|
### 3.34 SI WBS (si-wbs)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{project_id}/wbs` | WBS 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/wbs` | WBS 항목 생성 | 필요(pm) |
|
|
| POST | `/api/si/projects/{project_id}/wbs/bulk` | WBS 대량 등록 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/wbs/gantt` | Gantt 차트 데이터 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/wbs/{item_id}` | WBS 항목 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/wbs/{item_id}` | WBS 항목 수정 | 필요(pm) |
|
|
| DELETE | `/api/si/projects/{project_id}/wbs/{item_id}` | WBS 항목 삭제 | 필요(pm) |
|
|
| PATCH | `/api/si/projects/{project_id}/wbs/{item_id}/progress` | 진척률 업데이트 | 필요(sm) |
|
|
|
|
---
|
|
|
|
### 3.35 SI 요구사항 (si-requirements)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{project_id}/requirements` | 요구사항 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/requirements` | 요구사항 등록 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/requirements/stats` | 요구사항 통계 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/requirements/{req_id}` | 요구사항 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/requirements/{req_id}` | 요구사항 수정 | 필요(pm) |
|
|
| DELETE | `/api/si/projects/{project_id}/requirements/{req_id}` | 요구사항 삭제 | 필요(pm) |
|
|
| PATCH | `/api/si/projects/{project_id}/requirements/{req_id}/confirm` | 요구사항 확인 | 필요(pm) |
|
|
|
|
---
|
|
|
|
### 3.36 SI 이슈 (si-issues)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{project_id}/issues` | 이슈 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/issues` | 이슈 등록 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/issues/stats` | 이슈 통계 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/issues/{issue_id}` | 이슈 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/issues/{issue_id}` | 이슈 수정 | 필요 |
|
|
| DELETE | `/api/si/projects/{project_id}/issues/{issue_id}` | 이슈 삭제 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/issues/{issue_id}/create-sr` | 이슈 → SR 생성 | 필요(pm) |
|
|
| PATCH | `/api/si/projects/{project_id}/issues/{issue_id}/resolve` | 이슈 해결 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.37 SI 리스크 (si-risks)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{project_id}/risks` | 리스크 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/risks` | 리스크 등록 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/risks/matrix` | 리스크 매트릭스 (확률×영향) | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/risks/{risk_id}` | 리스크 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/risks/{risk_id}` | 리스크 수정 | 필요(pm) |
|
|
| DELETE | `/api/si/projects/{project_id}/risks/{risk_id}` | 리스크 삭제 | 필요(pm) |
|
|
| POST | `/api/si/projects/{project_id}/risks/{risk_id}/convert-to-issue` | 리스크 → 이슈 전환 | 필요(pm) |
|
|
|
|
---
|
|
|
|
### 3.38 SI 마일스톤/산출물 (si-milestones)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{project_id}/milestones` | 마일스톤 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/milestones` | 마일스톤 생성 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/milestones/{ms_id}` | 마일스톤 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/milestones/{ms_id}` | 마일스톤 수정 | 필요(pm) |
|
|
| DELETE | `/api/si/projects/{project_id}/milestones/{ms_id}` | 마일스톤 삭제 | 필요(pm) |
|
|
| POST | `/api/si/projects/{project_id}/milestones/{ms_id}/complete` | 마일스톤 완료 처리 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/deliverables` | 산출물 목록 (milestones 태그) | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/deliverables` | 산출물 등록 | 필요(sm) |
|
|
| PATCH | `/api/si/projects/{project_id}/deliverables/{deliv_id}` | 산출물 수정 | 필요(sm) |
|
|
| DELETE | `/api/si/projects/{project_id}/deliverables/{deliv_id}` | 산출물 삭제 | 필요(pm) |
|
|
| PATCH | `/api/si/projects/{project_id}/deliverables/{deliv_id}/submit` | 산출물 제출 | 필요(sm) |
|
|
| PATCH | `/api/si/projects/{project_id}/deliverables/{deliv_id}/approve` | 산출물 승인 | 필요(pm) |
|
|
|
|
---
|
|
|
|
### 3.39 SI 테스트 (si-tests)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{project_id}/test-plans` | 테스트 계획 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/test-plans` | 계획 생성 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/test-plans/{plan_id}` | 계획 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/test-plans/{plan_id}` | 계획 수정 | 필요(pm) |
|
|
| DELETE | `/api/si/projects/{project_id}/test-plans/{plan_id}` | 계획 삭제 | 필요(pm) |
|
|
| GET | `/api/si/projects/{project_id}/test-plans/{plan_id}/cases` | 테스트 케이스 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/test-plans/{plan_id}/cases` | 케이스 등록 | 필요(sm) |
|
|
| PATCH | `/api/si/projects/{project_id}/test-plans/{plan_id}/cases/{tc_id}` | 케이스 수정 | 필요(sm) |
|
|
| DELETE | `/api/si/projects/{project_id}/test-plans/{plan_id}/cases/{tc_id}` | 케이스 삭제 | 필요(sm) |
|
|
| POST | `/api/si/test-cases/{tc_id}/execute` | 테스트 실행 | 필요(sm) |
|
|
| GET | `/api/si/test-cases/{tc_id}/executions` | 실행 이력 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/defects` | 결함 목록 | 필요 |
|
|
| POST | `/api/si/projects/{project_id}/defects` | 결함 등록 | 필요(sm) |
|
|
| GET | `/api/si/projects/{project_id}/defects/stats` | 결함 통계 | 필요 |
|
|
| GET | `/api/si/projects/{project_id}/defects/{defect_id}` | 결함 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{project_id}/defects/{defect_id}` | 결함 수정 | 필요(sm) |
|
|
| PATCH | `/api/si/projects/{project_id}/defects/{defect_id}/fix` | 수정 완료 처리 | 필요(sm) |
|
|
| PATCH | `/api/si/projects/{project_id}/defects/{defect_id}/verify` | 검증 완료 처리 | 필요(pm) |
|
|
|
|
---
|
|
|
|
### 3.40 SI 산출물 (deliverables)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{pid}/deliverables` | 산출물 목록 | 필요 |
|
|
| POST | `/api/si/projects/{pid}/deliverables` | 산출물 등록 | 필요(sm) |
|
|
| GET | `/api/si/projects/{pid}/deliverables/summary` | 산출물 요약 통계 | 필요 |
|
|
| GET | `/api/si/projects/{pid}/deliverables/{did}` | 산출물 상세 | 필요 |
|
|
| PATCH | `/api/si/projects/{pid}/deliverables/{did}` | 산출물 수정 | 필요(sm) |
|
|
| DELETE | `/api/si/projects/{pid}/deliverables/{did}` | 산출물 삭제 | 필요(pm) |
|
|
| POST | `/api/si/projects/{pid}/deliverables/{did}/submit` | 산출물 제출 | 필요(sm) |
|
|
| POST | `/api/si/projects/{pid}/deliverables/{did}/review` | 산출물 검토 의견 | 필요(pm) |
|
|
|
|
---
|
|
|
|
### 3.41 SI 보고서 (si_report)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/si/projects/{pid}/report/daily` | 일일 보고서 | 필요 |
|
|
| GET | `/api/si/projects/{pid}/report/weekly` | 주간 보고서 | 필요 |
|
|
| GET | `/api/si/projects/{pid}/report/monthly` | 월간 보고서 | 필요 |
|
|
| GET | `/api/si/projects/{pid}/report/status` | 보고서 현황 | 필요 |
|
|
| POST | `/api/si/projects/{pid}/report/send` | 보고서 메신저 발송 | 필요(pm/admin) |
|
|
|
|
---
|
|
|
|
### 3.42 포트폴리오 (portfolio)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/portfolio/dashboard` | 전체 프로젝트 포트폴리오 대시보드 | 필요(pm/admin) |
|
|
| GET | `/api/portfolio/kpi` | KPI 현황 | 필요 |
|
|
| GET | `/api/portfolio/resources/availability` | 리소스 가용성 | 필요(pm) |
|
|
| GET | `/api/portfolio/projects/{pid}/resources` | 프로젝트 투입 리소스 | 필요 |
|
|
| POST | `/api/portfolio/projects/{pid}/resources` | 리소스 배정 | 필요(pm) |
|
|
| GET | `/api/portfolio/resources/{username}/skills` | 구성원 스킬 목록 | 필요 |
|
|
| POST | `/api/portfolio/resources/{username}/skills` | 스킬 등록/수정 | 필요(pm/admin) |
|
|
|
|
---
|
|
|
|
### 3.43 서비스 카탈로그 (catalog)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/catalog/` | 서비스 카탈로그 목록 | 필요 |
|
|
| POST | `/api/catalog/` | 서비스 등록 | 필요(admin) |
|
|
| GET | `/api/catalog/categories` | 카탈로그 카테고리 | 필요 |
|
|
| GET | `/api/catalog/stats` | 요청 통계 | 필요 |
|
|
| GET | `/api/catalog/{service_id}` | 서비스 상세 | 필요 |
|
|
| PATCH | `/api/catalog/{service_id}` | 서비스 수정 | 필요(admin) |
|
|
| DELETE | `/api/catalog/{service_id}` | 서비스 삭제 | 필요(admin) |
|
|
| POST | `/api/catalog/{service_id}/request` | 서비스 셀프 요청 (SR 자동 생성) | 필요 |
|
|
|
|
---
|
|
|
|
### 3.44 보안취약점 (vuln_scan)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/vuln/scan` | 취약점 스캔 실행 | 필요(sm/admin) |
|
|
| GET | `/api/vuln/scans` | 스캔 결과 목록 | 필요 |
|
|
| GET | `/api/vuln/scans/{scan_id}` | 스캔 결과 상세 | 필요 |
|
|
| POST | `/api/vuln/scans/{scan_id}/patch` | 패치 적용 처리 | 필요(sm) |
|
|
| GET | `/api/vuln/cve/{cve_id}` | CVE 상세 조회 | 필요 |
|
|
| POST | `/api/vuln/cvss` | CVSS 점수 계산 | 필요 |
|
|
| GET | `/api/vuln/patches` | 패치 목록 | 필요 |
|
|
| GET | `/api/vuln/patch-stats` | 패치 통계 | 필요 |
|
|
| GET | `/api/vuln/overdue-patches` | 기한 초과 패치 목록 | 필요 |
|
|
| GET | `/api/vuln/policies` | 패치 정책 목록 | 필요 |
|
|
| POST | `/api/vuln/quick-check` | 빠른 보안 체크 | 필요 |
|
|
| GET | `/api/vuln/stats` | 취약점 통계 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.45 PAM 특권접근 (pam)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/pam/sessions` | 특권 세션 요청 | 필요(sm) |
|
|
| GET | `/api/pam/sessions` | 세션 목록 | 필요(pm/admin) |
|
|
| GET | `/api/pam/sessions/{session_id}` | 세션 상세 | 필요 |
|
|
| POST | `/api/pam/sessions/{session_id}/approve` | 세션 승인 | 필요(pm) |
|
|
| POST | `/api/pam/sessions/{session_id}/reject` | 세션 거절 | 필요(pm) |
|
|
| POST | `/api/pam/sessions/{session_id}/checkout` | 자격증명 체크아웃 | 필요(sm) |
|
|
| POST | `/api/pam/sessions/{session_id}/checkin` | 자격증명 반납 | 필요(sm) |
|
|
| POST | `/api/pam/sessions/{session_id}/execute` | 명령 실행 (기록됨) | 필요(sm) |
|
|
| GET | `/api/pam/sessions/{session_id}/commands` | 명령 실행 이력 | 필요(admin) |
|
|
| POST | `/api/pam/sessions/{session_id}/terminate` | 세션 강제 종료 | 필요(admin) |
|
|
| GET | `/api/pam/policies` | PAM 정책 목록 | 필요(admin) |
|
|
| GET | `/api/pam/stats` | PAM 통계 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.46 LDAP 연동 (ldap)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/ldap/config` | LDAP 설정 조회 | 필요(admin) |
|
|
| PUT | `/api/ldap/config` | LDAP 설정 저장 | 필요(admin) |
|
|
| GET | `/api/ldap/status` | LDAP 연결 상태 | 필요(admin) |
|
|
| POST | `/api/ldap/test` | LDAP 연결 테스트 | 필요(admin) |
|
|
| POST | `/api/ldap/authenticate` | LDAP 인증 테스트 | 필요(admin) |
|
|
| GET | `/api/ldap/users` | LDAP 사용자 목록 | 필요(admin) |
|
|
| POST | `/api/ldap/sync/{username}` | 사용자 동기화 | 필요(admin) |
|
|
| GET | `/api/ldap/group-map` | 그룹-역할 매핑 조회 | 필요(admin) |
|
|
| PUT | `/api/ldap/group-map` | 그룹-역할 매핑 저장 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.47 SIEM (siem)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/siem/events` | 보안 이벤트 단건 수집 | 서명검증 |
|
|
| GET | `/api/siem/events` | 보안 이벤트 목록 | 필요(admin) |
|
|
| POST | `/api/siem/events/batch` | 이벤트 배치 수집 | 서명검증 |
|
|
| POST | `/api/siem/alert/receive` | 외부 알림 수신 | 서명검증 |
|
|
| GET | `/api/siem/stats` | SIEM 통계 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.48 컴플라이언스 (compliance)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/compliance/rules` | 컴플라이언스 룰 목록 | 필요 |
|
|
| POST | `/api/compliance/scan` | 전체 스캔 실행 | 필요(admin) |
|
|
| POST | `/api/compliance/scan/file` | 파일 업로드 스캔 | 필요(admin) |
|
|
| GET | `/api/compliance/results` | 스캔 결과 목록 | 필요 |
|
|
| GET | `/api/compliance/report/html` | HTML 보고서 | 필요 |
|
|
| GET | `/api/compliance/report/excel` | Excel 보고서 다운로드 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.49 성능 테스트 (performance)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| POST | `/api/perf/run` | 부하 테스트 실행 (locust/JMeter) | 필요(sm/admin) |
|
|
| POST | `/api/perf/upload/jtl` | JTL 결과 파일 업로드 | 필요 |
|
|
| GET | `/api/perf/results` | 테스트 결과 목록 | 필요 |
|
|
| GET | `/api/perf/results/{rid}` | 결과 상세 | 필요 |
|
|
| GET | `/api/perf/results/{rid}/html` | HTML 보고서 | 필요 |
|
|
| GET | `/api/perf/results/{rid}/excel` | Excel 보고서 다운로드 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.50 메트릭 (metrics)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/metrics/prometheus` | Prometheus 메트릭 (text/plain) | 불필요 |
|
|
| GET | `/api/metrics/health` | 헬스 메트릭 | 불필요 |
|
|
| GET | `/api/metrics/summary` | 메트릭 요약 | 필요 |
|
|
| POST | `/api/metrics/query` | 커스텀 메트릭 쿼리 | 필요 |
|
|
| GET | `/api/metrics/labels` | 메트릭 레이블 목록 | 필요 |
|
|
| GET | `/api/metrics/grafana-config` | Grafana 설정 내보내기 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.51 FinOps (finops)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/finops/summary` | 비용 요약 | 필요 |
|
|
| POST | `/api/finops/costs` | 비용 데이터 등록 | 필요(admin) |
|
|
| GET | `/api/finops/costs` | 비용 목록 | 필요 |
|
|
| GET | `/api/finops/trend` | 비용 추이 | 필요 |
|
|
| POST | `/api/finops/budget` | 예산 설정 | 필요(admin) |
|
|
| GET | `/api/finops/budget` | 예산 현황 | 필요 |
|
|
| GET | `/api/finops/allocation` | 부서별 비용 배분 | 필요 |
|
|
| GET | `/api/finops/anomalies` | 비용 이상 탐지 | 필요 |
|
|
| GET | `/api/finops/recommendations` | 비용 절감 권고 | 필요 |
|
|
| GET | `/api/finops/optimize` | 최적화 분석 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.52 용량 관리 (capacity)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/capacity/dashboard` | 용량 대시보드 | 필요 |
|
|
| GET | `/api/capacity/alerts` | 용량 경보 목록 | 필요 |
|
|
| GET | `/api/capacity/stats` | 용량 통계 | 필요 |
|
|
| POST | `/api/capacity/plans` | 용량 계획 생성 | 필요(pm/admin) |
|
|
| GET | `/api/capacity/plans` | 용량 계획 목록 | 필요 |
|
|
| GET | `/api/capacity/plans/{plan_id}` | 계획 상세 | 필요 |
|
|
| PATCH | `/api/capacity/plans/{plan_id}` | 계획 수정 | 필요(pm/admin) |
|
|
| DELETE | `/api/capacity/plans/{plan_id}` | 계획 삭제 | 필요(admin) |
|
|
| POST | `/api/capacity/plans/{plan_id}/recalculate` | 예측 재계산 | 필요(admin) |
|
|
| GET | `/api/capacity/trends/{source}` | 소스별 용량 추이 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.53 멀티테넌트 (tenants)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/tenants` | 테넌트 목록 | 필요(admin) |
|
|
| POST | `/api/tenants` | 테넌트 생성 | 필요(admin) |
|
|
| GET | `/api/tenants/current` | 현재 테넌트 정보 | 필요 |
|
|
| GET | `/api/tenants/{tenant_id}` | 테넌트 상세 | 필요(admin) |
|
|
| PUT | `/api/tenants/{tenant_id}` | 테넌트 수정 | 필요(admin) |
|
|
| DELETE | `/api/tenants/{tenant_id}` | 테넌트 삭제 | 필요(admin) |
|
|
| POST | `/api/tenants/{tenant_id}/quota` | 테넌트 쿼터 설정 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.54 게이트웨이/외부연동 (gateway)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/gateway/integrations` | 외부 연동 목록 | 필요(admin) |
|
|
| POST | `/api/gateway/integrations` | 연동 등록 | 필요(admin) |
|
|
| GET | `/api/gateway/integrations/{int_id}` | 연동 상세 | 필요(admin) |
|
|
| PUT | `/api/gateway/integrations/{int_id}` | 연동 수정 | 필요(admin) |
|
|
| DELETE | `/api/gateway/integrations/{int_id}` | 연동 삭제 | 필요(admin) |
|
|
| POST | `/api/gateway/integrations/{int_id}/test` | 연동 테스트 | 필요(admin) |
|
|
| POST | `/api/gateway/send/{int_id}` | 메시지 발송 | 필요 |
|
|
| POST | `/api/gateway/webhook/{webhook_key}` | 외부 웹훅 수신 | 불필요 |
|
|
| GET | `/api/gateway/logs` | 연동 로그 | 필요(admin) |
|
|
| GET | `/api/gateway/stats` | 연동 통계 | 필요(admin) |
|
|
| GET | `/api/gateway/jira/projects` | Jira 프로젝트 목록 | 필요 |
|
|
| POST | `/api/gateway/jira/sync/{sr_id}` | SR → Jira 동기화 | 필요(sm) |
|
|
| GET | `/api/gateway/jira/status/{jira_key}` | Jira 이슈 상태 조회 | 필요 |
|
|
| POST | `/api/gateway/confluence/publish` | Confluence 페이지 발행 | 필요(pm) |
|
|
|
|
---
|
|
|
|
### 3.55 그룹웨어 (groupware)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/groupware/config` | 그룹웨어 연동 설정 | 필요(admin) |
|
|
| POST | `/api/groupware/send-approval` | 전자결재 요청 발송 | 필요(pm) |
|
|
| GET | `/api/groupware/approvals` | 전자결재 목록 조회 | 필요 |
|
|
| POST | `/api/groupware/callback` | 결재 완료 콜백 | 불필요 |
|
|
|
|
---
|
|
|
|
### 3.56 푸시알림 (push)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/push/vapid-key` | Web Push VAPID 공개키 | 불필요 |
|
|
| POST | `/api/push/subscribe` | 브라우저 구독 등록 | 필요 |
|
|
| DELETE | `/api/push/subscribe` | 구독 해제 | 필요 |
|
|
| POST | `/api/push/test` | 테스트 푸시 발송 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.57 Scouter APM (scouter)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/scouter/status` | Scouter 연결 상태 | 필요 |
|
|
| GET | `/api/scouter/servers` | 모니터링 서버 목록 | 필요 |
|
|
| GET | `/api/scouter/servers/{obj_hash}/metrics` | 서버 메트릭 | 필요 |
|
|
| GET | `/api/scouter/servers/{obj_hash}/services` | 서버 서비스 목록 | 필요 |
|
|
| GET | `/api/scouter/servers/{obj_hash}/xlog` | X-Log (트랜잭션) | 필요 |
|
|
| GET | `/api/scouter/alerts` | Scouter 알림 목록 | 필요 |
|
|
| POST | `/api/scouter/agent/deploy` | Scouter 에이전트 배포 | 필요(sm/admin) |
|
|
|
|
---
|
|
|
|
### 3.58 타임라인 (timeline)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/timeline` | 전체 변경 타임라인 | 필요 |
|
|
| GET | `/api/timeline/summary` | 타임라인 요약 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.59 위상도 (topology)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/topology/graph` | 전체 인프라 위상도 (D3.js) | 필요 |
|
|
| GET | `/api/topology/graph/{ci_id}` | CI 중심 위상도 | 필요 |
|
|
| GET | `/api/topology/health` | 위상도 헬스 현황 | 필요 |
|
|
| GET | `/api/topology/page` | 위상도 HTML 페이지 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.60 보고서 (report)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/report/list` | 보고서 목록 | 필요 |
|
|
| GET | `/api/report/generate` | 보고서 즉시 생성 | 필요 |
|
|
| GET | `/api/report/preview` | 보고서 미리보기 | 필요 |
|
|
| GET | `/api/report/monthly/{year}/{month}` | 월간 보고서 | 필요 |
|
|
| POST | `/api/report/schedule` | 보고서 자동 발송 예약 | 필요(pm/admin) |
|
|
| GET | `/api/report/{report_id}` | 보고서 조회 | 필요 |
|
|
| GET | `/api/report/export/{report_id}` | 보고서 내보내기 (PDF/Excel) | 필요 |
|
|
|
|
---
|
|
|
|
### 3.61 Vibe CD 배포 (vibe)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/vibe` | 배포 세션 목록 | 필요 |
|
|
| POST | `/api/vibe` | 배포 세션 생성 | 필요(dev/sm) |
|
|
| GET | `/api/vibe/{session_id}` | 세션 상세 | 필요 |
|
|
| PATCH | `/api/vibe/{session_id}/status` | 세션 상태 변경 | 필요 |
|
|
| POST | `/api/vibe/{session_id}/build` | 빌드 실행 (Jenkins) | 필요(dev/sm) |
|
|
| GET | `/api/vibe/{session_id}/build/stream` | 빌드 로그 스트림 (SSE) | 필요 |
|
|
| POST | `/api/vibe/{session_id}/impact-analysis` | AI 영향 분석 | 필요 |
|
|
| POST | `/api/vibe/{session_id}/request-approval` | PM 승인 요청 | 필요(dev) |
|
|
| GET | `/api/vibe/{session_id}/approval-status` | 승인 상태 조회 | 필요 |
|
|
| PATCH | `/api/vibe/{session_id}/approve` | 승인 처리 | 필요(pm) |
|
|
| PATCH | `/api/vibe/{session_id}/reject` | 거절 처리 | 필요(pm) |
|
|
| POST | `/api/vibe/{session_id}/deploy` | 배포 실행 | 필요(sm) |
|
|
| POST | `/api/vibe/sonar-result` | SonarQube 결과 수신 | 불필요 |
|
|
| POST | `/api/vibe/callback` | 배포 완료 콜백 | 불필요 |
|
|
| GET | `/api/vibe/jenkins/health` | Jenkins 연결 상태 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.62 프로젝트 (projects)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/projects` | 배포 프로젝트 목록 | 필요 |
|
|
| POST | `/api/projects` | 프로젝트 생성 | 필요(pm/admin) |
|
|
| GET | `/api/projects/{project_id}` | 프로젝트 상세 | 필요 |
|
|
| PUT | `/api/projects/{project_id}` | 프로젝트 수정 | 필요(pm/admin) |
|
|
| DELETE | `/api/projects/{project_id}` | 프로젝트 삭제 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.63 관리자 (admin)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/admin/about` | 버전/빌드/오픈소스 정보 (GS인증 요건) | 불필요 |
|
|
| GET | `/api/admin/health` | 종합 헬스체크 (DB/Ollama/디스크/라이선스) | 불필요 |
|
|
| POST | `/api/admin/backup` | DB+설정+업로드 ZIP 백업 | 필요(admin) |
|
|
| GET | `/api/admin/backups` | 백업 파일 목록 | 필요(admin) |
|
|
| GET | `/api/admin/backups/{filename}/download` | 백업 다운로드 | 필요(admin) |
|
|
| POST | `/api/admin/restore/{filename}` | 백업 복원 | 필요(admin) |
|
|
| GET | `/api/admin/errors/codes` | 17개 에러코드 및 해결방법 | 불필요 |
|
|
|
|
**헬스체크 응답 예시:**
|
|
```json
|
|
{
|
|
"status": "healthy",
|
|
"db": "ok",
|
|
"ollama": "ok",
|
|
"disk_free_gb": 42.5,
|
|
"license": "valid",
|
|
"timestamp": "2026-05-30T10:00:00Z"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 3.64 온보딩 (onboarding)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/onboarding/steps` | 8단계 온보딩 목록 | 필요 |
|
|
| GET | `/api/onboarding/status` | 현재 사용자 진행 상태 | 필요 |
|
|
| POST | `/api/onboarding/step` | 단계 진행 | 필요 |
|
|
| POST | `/api/onboarding/complete` | 온보딩 완료 처리 | 필요 |
|
|
| POST | `/api/onboarding/dismiss` | 온보딩 건너뛰기 | 필요 |
|
|
| POST | `/api/onboarding/reset` | 온보딩 초기화 | 필요(admin) |
|
|
| POST | `/api/onboarding/message` | Ollama AI 온보딩 답변 | 필요 |
|
|
|
|
---
|
|
|
|
### 3.65 포털 (portal)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/portal/stats` | 포털 통계 | 필요(customer) |
|
|
| GET | `/api/portal/announcements` | 공지사항 목록 | 필요(customer) |
|
|
| GET | `/api/portal/catalog` | 서비스 카탈로그 (고객뷰) | 필요(customer) |
|
|
| POST | `/api/portal/sr` | 고객 SR 접수 | 필요(customer) |
|
|
| GET | `/api/portal/sr` | 내 SR 목록 | 필요(customer) |
|
|
| GET | `/api/portal/sr/{sr_id}` | 내 SR 상세 | 필요(customer) |
|
|
| POST | `/api/portal/sr/{sr_id}/rate` | SR 만족도 평가 | 필요(customer) |
|
|
| POST | `/api/portal/faq/suggest` | FAQ 제안 (AI 답변) | 필요(customer) |
|
|
|
|
---
|
|
|
|
### 3.66 AI 에이전트 (agents)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/agents` | 에이전트 목록 | 필요(admin) |
|
|
| POST | `/api/agents` | 에이전트 생성 | 필요(admin) |
|
|
| GET | `/api/agents/{agent_id}` | 에이전트 상세 | 필요(admin) |
|
|
| PATCH | `/api/agents/{agent_id}` | 에이전트 수정 | 필요(admin) |
|
|
| DELETE | `/api/agents/{agent_id}` | 에이전트 삭제 | 필요(admin) |
|
|
| POST | `/api/agents/{agent_id}/pause` | 에이전트 일시정지 | 필요(admin) |
|
|
| POST | `/api/agents/{agent_id}/resume` | 에이전트 재개 | 필요(admin) |
|
|
| POST | `/api/agents/{agent_id}/heartbeat` | 하트비트 갱신 | 필요 |
|
|
| GET | `/api/agents/{agent_id}/tasks` | 에이전트 작업 목록 | 필요 |
|
|
| POST | `/api/agents/{agent_id}/tasks` | 에이전트 작업 생성 | 필요(admin) |
|
|
| GET | `/api/agents/{agent_id}/messages` | 에이전트 메시지 | 필요 |
|
|
| POST | `/api/agents/{agent_id}/messages` | 에이전트 메시지 발송 | 필요 |
|
|
| PATCH | `/api/agents/messages/{msg_id}/read` | 메시지 읽음 처리 | 필요 |
|
|
| GET | `/api/agents/approvals` | 에이전트 승인 목록 | 필요(pm/admin) |
|
|
| PATCH | `/api/agents/approvals/{approval_id}/review` | 에이전트 승인 처리 | 필요(pm) |
|
|
| GET | `/api/agents/orgchart` | 에이전트 조직도 | 필요 |
|
|
| GET | `/api/agents/stats` | 에이전트 통계 | 필요 |
|
|
| GET | `/api/agents/llm/health` | LLM(Ollama) 헬스 | 필요(admin) |
|
|
| POST | `/api/agents/llm/pull` | LLM 모델 다운로드 | 필요(admin) |
|
|
| POST | `/api/agents/finetune/start` | LLM 파인튜닝 시작 | 필요(admin) |
|
|
| GET | `/api/agents/finetune/status` | 파인튜닝 상태 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.67 WebSocket (websocket)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/ws/status` | WebSocket 서버 상태 | 필요 |
|
|
| POST | `/api/ws/broadcast` | 특정 채널 브로드캐스트 | 필요(admin) |
|
|
|
|
**실시간 연결:**
|
|
- `GET /ws/events` — 전체 이벤트 스트림
|
|
- `GET /ws/events/{channel}` — 특정 채널 구독
|
|
|
|
---
|
|
|
|
### 3.68 인프라 확장 (infra_ext)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/infra/k8s/nodes` | K8s 노드 목록 | 필요(sm/admin) |
|
|
| GET | `/api/infra/k8s/pods` | K8s 파드 목록 | 필요(sm/admin) |
|
|
| GET | `/api/infra/k8s/services` | K8s 서비스 목록 | 필요(sm/admin) |
|
|
| GET | `/api/infra/erp/status` | ERP 연계 상태 | 필요(admin) |
|
|
| GET | `/api/infra/erp/budget/{project_code}` | ERP 예산 정보 | 필요(pm) |
|
|
| POST | `/api/infra/zero-trust/verify` | Zero Trust 접근 검증 | 필요 |
|
|
| GET | `/api/infra/zero-trust/sessions` | Zero Trust 세션 목록 | 필요(admin) |
|
|
|
|
---
|
|
|
|
### 3.69 공개 체크리스트 (public_checklist)
|
|
|
|
| Method | Path | 설명 | 인증 |
|
|
|--------|------|------|------|
|
|
| GET | `/api/public/status` | 시스템 상태 페이지 (Statuspage) | 불필요 |
|
|
| GET | `/api/public/checklist` | 운영 체크리스트 목록 | 불필요 |
|
|
| POST | `/api/public/checklist/{check_id}/check` | 체크리스트 항목 확인 | 필요(sm) |
|
|
| GET | `/api/public/report/html` | 운영 상태 HTML 보고서 | 불필요 |
|
|
|
|
---
|
|
|
|
## 4. 보안 제약
|
|
|
|
| 규칙 | 내용 |
|
|
|------|------|
|
|
| **외부 API 금지** | on-premise Ollama만 허용. 외부 API 호출 절대 금지 |
|
|
| **자격증명 보호** | IP, SSH계정, 비밀번호를 API 응답/메신저/에러메시지에 절대 노출 금지 |
|
|
| **암호화 필수** | `os_pw_enc` AES-256-GCM 암호화 저장 (IV 12B + 암호문 + GCM Tag 16B) |
|
|
| **root 금지** | root SSH 직접 접속 금지 — opsagent 전용 계정 사용 |
|
|
| **에러 응답** | 스택트레이스 미노출 — SR ID + 요약 메시지만 전달 |
|
|
| **ServerOut 스키마** | `ip_addr`, `ssh_user`, `os_pw_enc` 컬럼 API 응답에서 완전 제외 |
|
|
| **감사 로그** | 모든 명령/결과 `TB_AUDIT_LOG` SHA-256 해시체인 기록 |
|
|
| **MFA** | 관리자/sm 역할 MFA 활성화 권고 |
|
|
|
|
---
|
|
|
|
## 5. 공통 응답 코드
|
|
|
|
| 코드 | 의미 | 설명 |
|
|
|-----|------|------|
|
|
| 200 | OK | 조회 성공 |
|
|
| 201 | Created | 생성 성공 |
|
|
| 204 | No Content | 삭제 성공 |
|
|
| 400 | Bad Request | 입력값 오류 |
|
|
| 401 | Unauthorized | 인증 실패 또는 토큰 만료 |
|
|
| 403 | Forbidden | 권한 없음 (RBAC) |
|
|
| 404 | Not Found | 리소스 없음 |
|
|
| 409 | Conflict | 중복 또는 상태 충돌 |
|
|
| 422 | Unprocessable Entity | Pydantic 유효성 오류 |
|
|
| 429 | Too Many Requests | Rate Limit 초과 |
|
|
| 500 | Internal Server Error | 서버 오류 (상세 로그는 서버에만 기록) |
|
|
|
|
**에러 응답 형식:**
|
|
```json
|
|
{
|
|
"detail": "SR-1234: 상태 전이 불가 (현재: closed)",
|
|
"error_code": "SR_INVALID_STATE",
|
|
"sr_id": "SR-1234"
|
|
}
|
|
```
|
|
|
|
**에러 코드 전체 목록:** `GET /api/admin/errors/codes`
|
|
|
|
---
|
|
|
|
*Copyright © 2026 (주)지오정보기술 All Rights Reserved.*
|
|
*GUARDiA ITSM Platform v2.0.0*
|
|
*API 수: 602개 | 태그: 73개*
|