Skip to main content

TypeScript Client Reference

EyesOnItAPI is the SDK client class.

Constructor

new EyesOnItAPI(apiBasePath: string, restHandler?: IEOIRESTHandler, customLogger?: any)

Parameters:

  • apiBasePath: EyesOnIt server base URL, such as http://localhost:8000
  • restHandler: optional replacement transport implementing IEOIRESTHandler
  • customLogger: optional logger object passed through to the internal Axios handler and SDK logging

Transport Customization

If you need custom HTTP behavior, implement IEOIRESTHandler:

interface IEOIRESTHandler {
get(endPoint: string): Promise<EOIResponse>;
post(endPoint: string, body: string, headers: any): Promise<EOIResponse>;
}

If no custom handler is provided, the SDK uses its built-in Axios implementation.

Core Methods

MethodRequestResponseEndpoint
processImageEOIProcessImageInputsEOIProcessImageResponsePOST /process_image
addStreamEOIAddStreamInputsEOIAddStreamResponsePOST /add_stream
processVideoEOIProcessVideoInputsEOIProcessVideoResponsePOST /process_video
removeStreamstreamUrl: stringEOIRemoveStreamResponsePOST /remove_stream
monitorStreamEOIMonitorStreamInputsEOIMonitorStreamResponsePOST /monitor_stream
stopMonitoringStreamstreamUrl: stringEOIStopMonitoringStreamResponsePOST /stop_monitoring
getAllStreamsInfononeEOIGetAllStreamsInfoResponseGET /get_all_streams_info
getStreamDetailsstreamUrl: stringEOIGetStreamDetailsResponsePOST /get_stream_details
getLastDetectionInfostreamUrl: stringEOIGetLastDetectionInfoResponsePOST /get_last_detection_info
getVideoFramestreamUrl: stringEOIGetVideoFrameResponsePOST /get_video_frame
searchArchiveEOIArchiveSearchInputsEOISearchResponsePOST /archive_search
searchLiveEOILiveSearchInputsEOILiveSearchResponsePOST /live_search
pauseLiveSearchEOIUpdateLiveSearchInputsEOIResponsePOST /pause_live_search
resumeLiveSearchEOIUpdateLiveSearchInputsEOIResponsePOST /resume_live_search
cancelLiveSearchEOIUpdateLiveSearchInputsEOIResponsePOST /cancel_live_search
updateConfigEOIUpdateConfigInputsEOIUpdateConfigResponsePOST /update_config

Face Recognition Methods

MethodRequestResponseEndpoint
getFacerecGroupsnoneEOIGetFacerecGroupsResponseGET /facerec_groups
addFacerecGroupEOIAddFacerecGroupInputsEOIBaseOutputsPOST /facerec_add_group
removeFacerecGroupgroup_id: stringEOIRemoveFacerecGroupResponsePOST /facerec_remove_group
addFacerecPersonEOIAddFacerecPersonInputsEOIBaseOutputsPOST /facerec_add_person
addFacerecPeopleEOIAddFacerecPeopleInputsEOIBaseOutputsPOST /facerec_add_people
removeFacerecPersonperson_id: stringEOIBaseOutputsPOST /facerec_remove_person
searchFacerecGroupNamessearch: stringEOISearchFacerecNamesResponsePOST /facerec_search_group_names
searchFacerecPeopleNamessearch: stringEOISearchFacerecNamesResponsePOST /facerec_search_people_names
getFacerecPersonDetailsperson_id: stringEOIFacerecPersonDetailsResponsePOST /facerec_person_details

Response Shapes Users Commonly Touch

All typed response wrappers inherit success and message from EOIBaseOutputs.

The additional fields that matter most in application code are:

Response TypeImportant Fields
EOIProcessImageResponsedetections, image
EOIProcessVideoResponsevideo_id
EOIGetAllStreamsInfoResponsestreams
EOIGetStreamDetailsResponsestream
EOIGetLastDetectionInfoResponseimage, detections
EOIGetVideoFrameResponseimage
EOISearchResponseresults
EOILiveSearchResponsesearch_id
EOIGetFacerecGroupsResponsegroups
EOISearchFacerecNamesResponsematches
EOIFacerecPersonDetailsResponseperson_id, person_name, groups, images
EOIRemoveFacerecGroupResponsegroup_id, removed_memberships

Utility Class

The SDK also includes EOIAPIUtils as a root export from eyesonit-typescript-sdk.

Available helper:

EOIAPIUtils.getInfoForStream(streams: EOIStreamInfo[], streamUrl: string): EOIStreamInfo | null

Use it after getAllStreamsInfo() when you want to locate a specific stream record by URL.

Error Handling

The client wraps transport errors and validator failures in typed responses.

Typical pattern:

const response = await client.getStreamDetails("rtsp://camera-01/live");

if (!response.success) {
throw new Error(response.message);
}

Notes:

  • Validator failures happen before the HTTP call.
  • HTTP and transport failures are returned as success = false with an error: ... message.
  • pauseLiveSearch, resumeLiveSearch, and cancelLiveSearch return raw EOIResponse, not an output wrapper class.

Runtime Configuration

updateConfig(inputs: EOIUpdateConfigInputs) wraps the server payload in a typed request class. The SDK still does not validate the inner body shape, so only send server-supported configuration payloads.