Skip to content

Events (SSE)

Real-time event stream from the camera SDK. Subscribe to events from all cameras or a specific camera.

See the auto-generated API reference for full request/response schemas.

GET /api/events

Terminal window
curl -N http://localhost:8080/api/events

GET /api/cameras/{cameraId}/events — same event types, filtered to a single camera.

Terminal window
curl -N http://localhost:8080/api/cameras/D10F60149B0C/events

Events related to camera connection state and SDK errors.

Event SDK Callback Description
connected OnConnected Camera connection established
disconnected OnDisconnected Camera disconnected
error OnError SDK error occurred
{"cameraId": "D10F60149B0C"}
{"error": "0x00000000"}
{"code": "0x00008001", "message": "Generic error"}

Real-time notifications from camera activity — settings changes, shutter events, autofocus, and file transfers.

Event SDK Callback Description
propertyChanged OnPropertyChangedCodes Property values changed
warning OnWarning Camera warning/notification
afStatus OnWarningExt Autofocus state change
downloadComplete OnCompleteDownload Auto-transferred image saved
transferProgress OnNotifyRemoteTransferResult File pull completed
lutImportResult OnWarning LUT import completed or failed
{"codes": ["0x104", "0x105"], "count": 2}
{"code": "0x20011", "message": "Captured_Event"}

Code 0x20011 = image captured (shutter fired).

{"state": "focused"}

States: focused, unlocked, tracking

{"filename": "/path/to/DSC09596.JPG", "type": "image"}

Only fires in remote connection mode with still-image-store-destination set to Host PC or Both.

{"percent": 100, "notify": "0x20093", "filename": "/path/to/DSC09598.JPG"}

Only fires in remote-transfer mode after explicit file pull.

{"slot": 1, "status": "success"}
{"slot": 1, "status": "error", "error": "invalid_file"}

Fires after a LUT import operation completes. Error codes: general_failure, invalid_filename, device_busy, storage_full, invalid_parameter, invalid_file, invalid.


event: afStatus
data: {"state":"focused"}
event: warning
data: {"code":"0x20011","message":"Captured_Event"}
event: downloadComplete
data: {"filename":"/path/to/DSC09596.JPG","type":"image"}
event: afStatus
data: {"state":"unlocked"}
event: transferProgress
data: {"percent":100,"notify":"0x20093","filename":"/path/to/DSC09598.JPG"}

Mode Auto-transfer? SSE Event Mechanism
remote Yes (if StoreDestination = HostPC/Both) downloadComplete SDK pushes via OnCompleteDownload
remote-transfer No — explicit pull transferProgress Pull via POST .../download
contents No — pull only contentsTransfer Pull-only, no shooting

The server sends a : keepalive comment every 30 seconds to detect dead connections.