시스템에 등록된 복합 이벤트 목록을 조회합니다.
/api/v1/composite-events복합 이벤트의 페이지네이션 목록을 조회하는 API입니다. 각 항목에는 복합 이벤트 본문과 이를 생성한 규칙, 그룹화된 기본 이벤트, 관련 마이크, 라벨 정보가 포함됩니다. 복합 이벤트 객체를 참고하면 관련 구조를 자세히 확인할 수 있습니다.
Access Token은 Bearer 토큰 인증 방식으로 전달해야 합니다.
자세한 내용은 인증 문서를 참고해 주세요.
1(0보다 커야 함)10(0보다 크고 101보다 작아야 함)null(ISO 8601 형식)null(ISO 8601 형식)nullnull{
"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",
"edge_id": "edge_001",
"status": "active",
"thresholds": {
"breathing_heavily": {
"sound_level_ge": 65,
"confidence_ge": 0.8
}
},
"location": {
"latitude": 37.546344,
"longitude": 126.944322
},
"created_at": "2026-03-01T00:00:00Z",
"updated_at": "2026-03-26T09:00:05Z"
}
],
"labels": [
{
"id": "normal_speech_female",
"name": {
"ko": "female speech",
"en": "normal speech female"
},
"active": true
}
],
"started_at": "2026-03-26T08:59:45Z"
}
]
}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();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();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();