Answers to Common Questions

There are several common questions that we get as people start using the Eagle Eye Networks API. This won't cover all of them, but we hope that it will answer some of them.

Why is my list of devices empty?

The list of devices returned depends on the permissions that the user has. It will only return items that they have access to. This can include devices in the same account or devices shared with them from another account.

If you user is created on a reseller account you will not have access to any devices until you switch into a sub-account. The reseller account itself does not contain any devices. All devices live in sub-accounts. You can get a list of sub-accounts and switch context into any account you have access to. After changing your context, you will have access to the devices in that account with administrator permissions.

Why are there two different places to add users?

The reason we have users in both places is so you can add users to just a specific sub-account or have users that work for the reseller that can manage multiple sub-accounts.

Imaging having two different installations. Not having a resller account make it difficult to manage all equipment and users in a simgle account. It would also be challenging to make sure every user had the correct permissions to just their equipment.

By seperating out the reseller and the sub-accounts, we can provide isolation so that cameras are not inadvertantly shared. We can also provide a much simpler user management interface.

How do I play video?

You can access a video stream by calling get video. By default we return the original h.264 video wrapped in a FLV container. This always us to pass the video without transcoding.

Access live and recorded video is done through the same API call. The primary difference is that recorded video uses a start and end timestamp. Live video uses a stream identifier instead of a start timestamp. Live video also uses a video offset instead of an end timestamp. You can continue viewing the live stream by calling the API again using the same parameters.

Recorded video can also be returned as an MP4 file. In this case, we will transcode the file. When requesting an MP4 file you will receive a job id, or the file directly. If you receive a job id, you can make the same call again until the file is done transcoding and is available to download.

You can play live and recorded video in any player that can handle FLV and MP4 files. You can also follow the instrustions here to use our HTML5 video player. This is a JavaScript file that allows the built-in HTML5 video tag to play FLV files.

How do I get my domain approved for CORS?

CORS is a security policy implement in modern web browsers. It is a great safey meansure, but it can cause difficulty when trying to use our API from a client's browser. If you are hitting errors with CORS, please reach out to us so that we can get your domain approved for CORS access.

How do I get real-time events?

You can access our poll stream and subscribe the events you are interested in. This is the same poll stream that we use. You can access it through long polling or through websockets. By making use of standard HTTP requests it is available on all platforms. You can read more about it here.

What else can we do with this?

The options are almost limitless. It really just depends on what you wanting to do. Please feel free to reach out to me directly at