6.12.2025 - API Updates

New Endpoints

The following resources have been added to the Eagle Eye API.

Media Overlays

You can now request bounding boxes and other overlays to be included in recorded images that are returned by the Eagle Eye API. This allows you to see the objects detected in a frame, such as vehicles or people, directly in the image. These overlays either be embedded into the image or returned as a separate SVG header.

curl --request GET \
     --url 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/media/recordedImage.jpeg?deviceId=10058b7a&timestamp__lte=2022-08-08T07%3A57%3A37.000%2B00%3A00&overlayId__in=&include=overlayEmbedded' \
     --header 'accept: image/jpeg'
const url = 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/media/recordedImage.jpeg?deviceId=10058b7a&timestamp__lte=2022-08-08T07%3A57%3A37.000%2B00%3A00&overlayId__in=&include=overlayEmbedded';
const options = {method: 'GET', headers: {accept: 'image/jpeg'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
import requests

url = "https://api.cxxx.eagleeyenetworks.com/api/v3.0/media/recordedImage.jpeg?deviceId=10058b7a&timestamp__lte=2022-08-08T07%3A57%3A37.000%2B00%3A00&overlayId__in=&include=overlayEmbedded"

headers = {"accept": "image/jpeg"}

response = requests.get(url, headers=headers)

print(response.text)

To determine which overlays are available for a given device, you can send a request to the /media/recordedImage.jpeg:listFieldValues endpoint with the overlayId field.

curl --request GET \
     --url 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/media/recordedImage.jpeg:listFieldValues?deviceId=10058b7a&include=overlayId' \
     --header 'accept: application/json'
const url = 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/media/recordedImage.jpeg:listFieldValues?deviceId=10058b7a&include=overlayId';
const options = {method: 'GET', headers: {accept: 'application/json'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
import requests

url = "https://api.cxxx.eagleeyenetworks.com/api/v3.0/media/recordedImage.jpeg:listFieldValues?deviceId=10058b7a&include=overlayId"

headers = {"accept": "application/json"}

response = requests.get(url, headers=headers)

print(response.text)

Automations

The automations system allows users to trigger alarms and actions based on events detected by cameras or other sensors. These automations can be used to enhance security, automate tasks, or integrate with other systems.

A full guide to the use of the automations system and corresponding code samples will be available soon.

Alert Rules

Alert Rules define the conditions under which an alert should be triggered. They can be based on various event types, such as motion detection, vehicle detection, or EEN events. And alert rule can be connected to one or more actions that will be executed when the rule is triggered.

List Event Alert Rules
Create Event Alert Rule

Alert Actions

Alert Actions are the actions that will be executed when an alert rule is triggered. These actions can include sending various notifications to users or sending a web hook to an external service.

List Alert Actions
Create Alert Action

Action Rules

Action Rules define the actions that should be taken when an alert rule is triggered. These rules connect alert rules to alert actions, allowing for a flexible and customizable response to events.

List Action Rules
Create Action Rule

I/O Devices

The I/O Devices resources allow users to manage input and output devices connected to their Eagle Eye bridges or cameras. This includes devices such as sensors, alarms, and other peripherals that can be used to enhance the functionality of the Eagle Eye system.

Camera I/O Devices

GET /cameras/{cameraId}/io/ports
List all I/O ports for a camera.

GET /cameras/{cameraId}/io/ports/{portId}
Get details about a specific I/O port for a camera.

PATCH /cameras/{cameraId}/io/ports/{portId}
Update the configuration on a specific I/O port for a camera.

Bridge I/O Devices

GET /devices/{deviceId}/io/ports
List all device I/O ports.

GET /devices/{deviceId}/io/ports/{portId}
Get details about a specific I/O port for a device.

GET /devices/{deviceId}/io/ports/{portId}/recordingActions
Retrieves the list of all cameras that can be activated to record video, including those that are currently enabled for recording actions on this port.

GET /devices/{deviceId}/io/ports/{portId}/recordingActions/{cameraId}
Get details about a specific camera that can be activated to record video on this port.

PATCH /devices/{deviceId}/io/ports/{portId}/recordingActions/{cameraId}
Update the recording action configuration for the given camera and port.