복합 이벤트 목록 조회
시스템에 등록된 복합 이벤트 목록을 조회합니다.
마지막 업데이트: 2026년 3월 26일
도입 버전 v2026.02
GET
/api/v1/composite-events설명
복합 이벤트의 페이지네이션 목록을 조회하는 API입니다. 각 항목에는 복합 이벤트 본문과 이를 생성한 규칙, 그룹화된 기본 이벤트, 관련 마이크, 라벨 정보가 포함됩니다. 복합 이벤트 객체를 참고하면 관련 구조를 자세히 확인할 수 있습니다.
인증
Access Token은 Bearer 토큰 인증 방식으로 전달해야 합니다.
자세한 내용은 인증 문서를 참고해 주세요.
쿼리 파라미터
page
Optional
integer ||
1페이지네이션을 위한 페이지 번호
(0보다 커야 함)size
Optional
integer ||
10페이지당 항목 수
(0보다 크고 101보다 작아야 함)created_at__ge
Optional
string (datetime) ||
null이 시각 이후에 생성된 복합 이벤트만 반환합니다
(ISO 8601 형식)created_at__le
Optional
string (datetime) ||
null이 시각 이전에 생성된 복합 이벤트만 반환합니다
(ISO 8601 형식)composite_rule_id
Optional
string ||
null복합 이벤트 규칙 ID로 결과를 필터링합니다.
order_by
Optional
enum ||
null반환 결과의 정렬 순서
Enum Values:
asc
desc
응답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
"page": 1,
"size": 10,
"total_cnt": 24,
"max_page": 3,
"results": [
{
"id": "composite_evt_123",
"group_key": "edge-01:normal_speech_female",
"rule": {
"id": "rule_001",
"name": "Repeated Speech Cluster",
"description": "Groups repeated speech events within the same window",
"window_seconds": 30,
"min_events": 3,
"enabled": true,
"group_by": "label_id",
"include_label_ids": [
"normal_speech_female"
],
"include_mic_ids": [
"mic_001",
"mic_002"
]
},
"events": [
{
"id": "evt_001",
"confidence": 0.93,
"confidence_threshold": 0.5,
"sound_level": 71.2,
"sound_level_threshold": 65,
"description": "Repeated speech detected near entrance",
"audio_file": {
"file_path": "/audio/events/evt_001.wav"
},
"is_read": false,
"read_at": null,
"created_at": "2026-03-26T09:00:00Z",
"updated_at": "2026-03-26T09:00:05Z",
"label_id": "normal_speech_female",
"mic_id": "mic_001",
"label": {
"id": "normal_speech_female",
"name": {
"ko": "female speech",
"en": "normal speech female"
},
"active": true
},
"microphone": {
"id": "mic_001",
"name": "Entrance Mic",
"host": "172.16.10.21",
"subnet_mask": "255.255.255.0",
"mac_address": "00:11:22:33:44:55",
"microphone_type": "PDM_715IP",
"channel": {
"scheme": "rtsp",
"port": 554,
"path": "/stream",
"username": null,
"password": null
},
"console": {
"scheme": "http",
"port": 80,
"path": "/",
"username": "admin",
"password": "password"
},
"streaming": true,
"recording": true,
"edge_id": "edge_001",
"location": {
"latitude": 37.546344,
"longitude": 126.944322
},
"status": "active",
"thresholds": {},
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-03-26T09:00:05Z",
"deleted_at": null,
"reported_at": "2026-03-26T09:00:05Z",
"connected": true
}
}
],
"mics": [
{
"id": "mic_001",
"name": "Entrance Mic",
"host": "172.16.10.21",
"subnet_mask": "255.255.255.0",
"mac_address": "00:11:22:33:44:55",
"microphone_type": "PDM_715IP",
"channel": {
"scheme": "rtsp",
"port": 554,
"path": "/stream",
"username": null,
"password": null
},
"console": {
"scheme": "http",
"port": 80,
"path": "/",
"username": "admin",
"password": "password"
},
"location": {
"latitude": 37.546344,
"longitude": 126.944322
},
"streaming": true,
"recording": true,
"status": "active",
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-03-26T09:00:05Z",
"deleted_at": null,
"reported_at": "2026-03-26T09:00:05Z",
"connected": true,
"edge_id": "edge_001",
"edge_status": "active"
}
],
"labels": [
{
"id": "normal_speech_female",
"name": {
"ko": "female speech",
"en": "normal speech female"
},
"active": true
}
],
"started_at": "2026-03-26T08:59:45Z"
}
]
}요청 예제
기본 요청
1
2
3
4
5
6
7
8
const response = await fetch('http://{{EDGE_IP}}:8100/api/v1/composite-events?page=1&size=10', {
method: 'GET',
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});
const data = await response.json();생성 시각 범위 요청
1
2
3
4
5
6
7
8
const response = await fetch('http://{{EDGE_IP}}:8100/api/v1/composite-events?page=1&size=10&created_at__ge=2026-03-26T00:00:00Z&created_at__le=2026-03-26T23:59:59Z', {
method: 'GET',
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});
const data = await response.json();규칙 필터 및 정렬 요청
1
2
3
4
5
6
7
8
const response = await fetch('http://{{EDGE_IP}}:8100/api/v1/composite-events?page=1&size=10&composite_rule_id=rule_001&order_by=desc', {
method: 'GET',
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});
const data = await response.json();