실시간 탐지 시나리오 변경 이력 목록 조회
지정한 실시간 탐지 시나리오의 변경 이력 목록을 조회합니다. 시나리오가 수정될 때마다 새 버전이 자동으로 생성되며, 편집 화면의 변경 이력 패널이 이 API를 호출합니다. 변경 이력 목록을 통해 특정 버전을 식별한 뒤 변경 이력 조회 API와 복원 API를 호출할 수 있습니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/stream-rules/:guid/versions
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/stream-rules/3b05608f-8dd0-4218-9d6d-391515b6280d/versions?offset=0&limit=20"
요청 매개변수
경로 매개변수
| 키 | 타입 | 설명 | 비고 |
|---|---|---|---|
| guid | 문자열 | 실시간 탐지 시나리오 GUID | 36자 |
요청 본문 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| offset | X | 32비트 정수 | 건너뛸 갯수 | 기본값 0 |
| limit | X | 32비트 정수 | 최대 갯수 | 기본값 20 |
정상 응답
{
"total_count": 3,
"versions": [
{
"version": 3,
"user": "관리자",
"created_at": "2025-04-15 10:30:25+0900",
"diff": [
{
"path": "query_string",
"diff": "..."
}
],
"query_string": "..."
},
{
"version": 2,
"user": "관리자",
"created_at": "2025-04-10 14:22:10+0900",
"diff": [
{
"path": "description",
"diff": "..."
}
]
},
{
"version": 1,
"user": "관리자",
"created_at": "2025-04-01 09:00:00+0900",
"diff": null
}
]
}
- total_count (32비트 정수): 변경 이력 전체 갯수
- versions (배열): 페이징된 변경 이력 스냅샷 목록. 버전 내림차순으로 정렬됨.
- version (32비트 정수): 스냅샷 버전 번호
- user (문자열): 변경을 수행한 사용자 성명
- created_at (문자열): 스냅샷 생성일시 (
yyyy-MM-dd HH:mm:ssZ형식) - diff (배열): 이전 버전 대비 변경 항목 목록. 최초 버전인 경우
null.- path (문자열): 변경된 필드 경로
- diff (문자열): 변경 내용
- query_string (문자열): 쿼리 문자열이 변경된 경우 해당 차이값. 그 외에는 생략됨.
오류 응답
offset, limit 값이 정수가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be int type"
}
식별자가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "guid should be guid type."
}
지정한 시나리오가 존재하지 않는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "stream rule not found: 3b05608f-8dd0-4218-9d6d-391515b6280d"
}
권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}