Endpoints
Grouped reference for the EyesOnIt REST API endpoints.
Endpoint Groups
Image and Video
Live Stream Processing
Video File Processing
Image Processing
Search
Live Search
Archive Search
Face Recognition
Group Management
Person Management
- facerec_add_person
- facerec_add_people
- facerec_remove_person
- facerec_person_details
- facerec_search_people_names
Status
License
Config
Image and Video
Live Stream Processing
add_stream
{
"stream_url": "rtsp://camera/live",
"name": "Warehouse Camera 01",
"frame_rate": 5,
"index_for_search": true,
"search_index_types": ["image"],
"regions": [
{
"name": "Front Entrance",
"enabled": true,
"polygon": [{ "x": 0, "y": 0 }, { "x": 200, "y": 0 }, { "x": 200, "y": 200 }],
"motion_detection": {
"enabled": true,
"detection_threshold": 300,
"regular_check_frame_interval": 5
},
"detection_configs": []
}
],
"lines": [
{
"name": "entry-line",
"vertices": [{ "x": 50, "y": 50 }, { "x": 250, "y": 50 }]
}
],
"notification": {
"include_image": true,
"phone_number": "+15551234567"
},
"recording": {
"enabled": false
},
"effects": {
"show_bounding_boxes": true,
"show_regions": true
}
}
monitor_stream
- Method:
POST - Path:
/monitor_stream - Request: MonitorStream
- Response: MonitorStream
{
"stream_url": "rtsp://camera/live",
"duration_seconds": 300
}
stop_monitoring
- Method:
POST - Path:
/stop_monitoring - Request: StopMonitoring
- Response: StopMonitoring
{
"stream_url": "rtsp://camera/live"
}
remove_stream
- Method:
POST - Path:
/remove_stream - Request: RemoveStream
- Response: RemoveStream
{
"stream_url": "rtsp://camera/live"
}
get_video_frame
- Method:
POST - Path:
/get_video_frame - Request: GetVideoFrame
- Response: GetVideoFrame
{
"stream_url": "rtsp://camera/live"
}
Video File Processing
process_video
- Method:
POST - Path:
/process_video - Request: ProcessVideo
- Response: ProcessVideo
{
"name": "warehouse-shift-1",
"input_video_path": "/input/warehouse.mp4",
"rotate_video": 0,
"output_video_path": "/output/warehouse_out.mp4",
"frame_rate": 5,
"index_for_search": false,
"search_index_types": [],
"regions": [
{
"name": "Front Entrance",
"enabled": true,
"polygon": [{ "x": 0, "y": 0 }, { "x": 200, "y": 0 }, { "x": 200, "y": 200 }],
"motion_detection": {
"enabled": true,
"detection_threshold": 300,
"regular_check_frame_interval": 5
},
"detection_configs": []
}
],
"lines": [],
"real_time": false,
"video_start_interval": 0,
"output_all_frames": true,
"effects": {
"show_bounding_boxes": true,
"show_regions": true
},
"recording": {
"enabled": false
},
"video_start_local_time": "2025-03-17T22:27:33Z",
"start_seconds": 0,
"end_seconds": 30,
"mode": "KNOWN_OBJECT_DETECTION",
"base_image_path": null,
"plugins": {},
"validation": {
"triggers": [
{
"class_name": "person",
"start_seconds": 0,
"end_seconds": 30
}
]
}
}
stop_video
{
"video_id": "f2d9a2d4f94a4d4da6d2a0a2f4d24f01"
}
get_video_status
- Method:
POST - Path:
/get_video_status - Request: GetVideoStatus
- Response: GetVideoStatus
{
"video_id": "f2d9a2d4f94a4d4da6d2a0a2f4d24f01"
}
Image Processing
process_image
- Method:
POST - Path:
/process_image - Request: ProcessImage
- Response: ProcessImage
{
"file": "<base64 image>",
"return_image": true,
"regions": [
{
"name": "Front Entrance",
"enabled": true,
"polygon": [{ "x": 0, "y": 0 }, { "x": 200, "y": 0 }, { "x": 200, "y": 200 }],
"detection_configs": []
}
],
"effects": {
"show_bounding_boxes": true,
"show_regions": true
}
}
Search
Live Search
live_search
- Method:
POST - Path:
/live_search - Request: LiveSearch
- Response: LiveSearch
{
"class_name": "person",
"search_type": "face_recognition",
"face_match_type": "group",
"face_group_id": "employees",
"alert_threshold": 80,
"stream_list": ["rtsp://camera/live"],
"duration_seconds": 600,
"notification": {
"include_image": true,
"phone_number": "+15551234567"
}
}
pause_live_search
- Method:
POST - Path:
/pause_live_search - Request: PauseLiveSearch
- Response: PauseLiveSearch
{
"search_id": 42
}
resume_live_search
- Method:
POST - Path:
/resume_live_search - Request: ResumeLiveSearch
- Response: ResumeLiveSearch
{
"search_id": 42
}
cancel_live_search
- Method:
POST - Path:
/cancel_live_search - Request: CancelLiveSearch
- Response: CancelLiveSearch
{
"search_id": 42
}
Archive Search
archive_search
- Method:
POST - Path:
/archive_search - Request: ArchiveSearch
- Response: ArchiveSearch
{
"class_name": "person",
"search_type": "natural_language",
"object_description": "person carrying a red bag",
"alert_threshold": 80,
"similarity": {
"images": []
},
"stream_list": ["rtsp://camera/live"],
"start_date_time": "2025-03-17T00:00:00Z",
"end_date_time": "2025-03-18T00:00:00Z"
}
Face Recognition
Group Management
facerec_groups
- Method:
GET - Path:
/facerec_groups - Request: FacerecGroups
- Response: FacerecGroups
facerec_add_group
- Method:
POST - Path:
/facerec_add_group - Request: FacerecAddGroup
- Response: FacerecAddGroup
{
"group_id": "employees",
"group_name": "Employees",
"group_description": "Employees approved for entry checks"
}
facerec_remove_group
- Method:
POST - Path:
/facerec_remove_group - Request: FacerecRemoveGroup
- Response: FacerecRemoveGroup
{
"group_id": "employees"
}
facerec_search_group_names
- Method:
POST - Path:
/facerec_search_group_names - Request: FacerecSearchGroupNames
- Response: FacerecSearchGroupNames
{
"search_text": "emp"
}
Person Management
facerec_add_person
- Method:
POST - Path:
/facerec_add_person - Request: FacerecAddPerson
- Response: FacerecAddPerson
{
"person_id": "person-001",
"person_display_name": "Alex Carter",
"person_groups": ["employees"],
"person_images": [
{
"image": "<base64 image>",
"file_path": null,
"capture_time": "2025-03-17T22:27:33Z"
}
]
}
facerec_add_people
- Method:
POST - Path:
/facerec_add_people - Request: FacerecAddPeople
- Response: FacerecAddPeople
{
"file_path": "/input/facerec/import.csv"
}
facerec_remove_person
- Method:
POST - Path:
/facerec_remove_person - Request: FacerecRemovePerson
- Response: FacerecRemovePerson
{
"person_id": "person-001"
}
facerec_person_details
- Method:
POST - Path:
/facerec_person_details - Request: FacerecPersonDetails
- Response: FacerecPersonDetails
{
"person_id": "person-001"
}
facerec_search_people_names
- Method:
POST - Path:
/facerec_search_people_names - Request: FacerecSearchPeopleNames
- Response: FacerecSearchPeopleNames
{
"search_text": "alex"
}
Status
get_all_streams_info
- Method:
GET - Path:
/get_all_streams_info - Request: GetAllStreamsInfo
- Response: GetAllStreamsInfo
get_stream_details
- Method:
POST - Path:
/get_stream_details - Request: GetStreamDetails
- Response: GetStreamDetails
{
"stream_url": "rtsp://camera/live"
}
get_last_detection_info
- Method:
POST - Path:
/get_last_detection_info - Request: GetLastDetectionInfo
- Response: GetLastDetectionInfo
{
"stream_url": "rtsp://camera/live"
}
is_eoi_alive
- Method:
GET - Path:
/is_eoi_alive - Request: IsEoiAlive
- Response: IsEoiAlive
License
is_license_valid
- Method:
GET - Path:
/is_license_valid - Request: IsLicenseValid
- Response: IsLicenseValid
get_license_status
- Method:
GET - Path:
/get_license_status - Request: GetLicenseStatus
- Response: GetLicenseStatus
validate_license
- Method:
POST - Path:
/validate_license - Request: ValidateLicense
- Response: ValidateLicense
{
"key": "<redacted-license-key>",
"token": "<redacted-license-token>"
}
Config
get_config
update_config
- Method:
POST - Path:
/update_config - Request: UpdateConfig
- Response: UpdateConfig
{
"search": {
"max_results": 100
}
}
get_supported_classes
- Method:
GET - Path:
/get_supported_classes - Request: GetSupportedClasses
- Response: GetSupportedClasses