The Aeyi API provides comprehensive endpoints for managing IoT devices, emergency situations, people identification, and file operations in a cloud-based security and monitoring system.
This API enables seamless integration with IoT devices, real-time monitoring capabilities, emergency situation management, and advanced people identification features. Most of the endpoints require proper authentication via Bearer token.
Most of the endpoints require authentication using api-key and email passed as key-value pairs in the request headers:
api-key: <your_api_key>
email: <your_email>
For technical support and API questions, please contact our support team or refer to our documentation.
Create a new API key.
required | Id (integer) or Id (string) (Id) |
Array of strings (Email) Default: ["dummy@account.com"] | |
| name | string (Name) Default: "first-key" |
| status | string (Status) Default: "enabled" |
{- "id": 0,
- "email": [
- "dummy@account.com"
], - "name": "first-key",
- "status": "enabled"
}{- "id": 0,
- "email": [
- "dummy@account.com"
], - "name": "first-key",
- "status": "enabled"
}Edit an existing API key details.
required | Id (integer) or Id (string) (Id) |
Array of strings (Email) Default: ["dummy@account.com","dummy1@account.com"] | |
| status | string (Status) Default: "disabled" |
{- "id": 0,
- "email": [
- "dummy@account.com",
- "dummy1@account.com"
], - "status": "disabled"
}nullUpdate device information and configuration.
| user_id required | string (User Id) User ID associated with the device |
| device_name required | string (Device Name) Name of the device |
| device_id required | string (Device Id) Unique identifier for the device |
| status required | string (Status) Status of the device (e.g., Active, Inactive) |
| mac_address required | string (Mac Address) MAC address of the device |
| board_type required | string (Board Type) Type of the device board |
| ip_address required | string (Ip Address) IP address of the device |
Wifi Details (object) or Wifi Details (null) (Wifi Details) WiFi details including SSID and security type |
{- "user_id": "string",
- "device_name": "string",
- "device_id": "string",
- "status": "string",
- "mac_address": "string",
- "board_type": "string",
- "ip_address": "string",
- "wifi_details": {
- "property1": "string",
- "property2": "string"
}
}nullEstablish connection with a specified device.
| user_id | string (User Id) Default: "user1234" |
| device_id | string (Device Id) Default: "Device_2" |
{- "user_id": "user1234",
- "device_id": "Device_2"
}{- "message": "Connection Success"
}Retrieve the list of cameras and their configuration for a specific user.
| user_id required | string (User Id) User ID to retrieve the camera list for |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "camera_dict": {
- "property1": {
- "public_url": "string",
- "features": {
- "Crowd": true,
- "Authorised": true,
- "Critical": true,
- "Sleep": true,
- "Theft": true
}
}, - "property2": {
- "public_url": "string",
- "features": {
- "Crowd": true,
- "Authorised": true,
- "Critical": true,
- "Sleep": true,
- "Theft": true
}
}
}
}Add a new camera configuration to the user's device.
| user_id required | string (User Id) User ID for whom the camera should be added. |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
| device_name | string (Device Name) Default: "Device_1" |
| cam_name | string (Cam Name) Default: "CPCAM1" |
| prompt | string (Prompt) Default: "prompt" |
| url | string (Url) Default: "rtsp://stream/url.sdp" |
| status | string (Status) Default: "Active" |
required | object (CameraFeatureModel) |
{- "device_name": "Device_1",
- "cam_name": "CPCAM1",
- "prompt": "prompt",
- "url": "rtsp://stream/url.sdp",
- "status": "Active",
- "features": {
- "Authorised": true,
- "Critical": true
}
}{- "user_id": "string",
- "status": true,
- "camera_dict": {
- "property1": {
- "public_url": "string",
- "features": {
- "Crowd": true,
- "Authorised": true,
- "Critical": true,
- "Sleep": true,
- "Theft": true
}
}, - "property2": {
- "public_url": "string",
- "features": {
- "Crowd": true,
- "Authorised": true,
- "Critical": true,
- "Sleep": true,
- "Theft": true
}
}
}
}Update existing camera settings and features.
| user_id required | string (User Id) user id |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
| device_name | string (Device Name) Default: "Device_1" |
| cam_name | string (Cam Name) Default: "CPCAM1" |
| prompt | string (Prompt) Default: "prompt" |
| url | string (Url) Default: "rtsp://stream/url.sdp" |
| status | string (Status) Default: "Active" |
required | object (CameraFeatureModel) |
{- "device_name": "Device_1",
- "cam_name": "CPCAM1",
- "prompt": "prompt",
- "url": "rtsp://stream/url.sdp",
- "status": "Active",
- "features": {
- "Authorised": true,
- "Critical": true
}
}{- "user_id": "user1234",
- "status": true,
- "message": "Status Updated"
}Remove a camera from the user's device configuration.
| user_id required | string (User Id) User ID to delete the camera from |
| device_name required | string (Device Name) Name of the device |
| cam_name required | string (Cam Name) Name of the camera to delete |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "message": "Successfully deleted"
}Retrieve current emergency situation status for a user.
| user_id required | string (User Id) User ID |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "situation_data": {
- "user_id": "user1234",
- "emergency": true,
- "s3_bucket": "aeye-bucket",
- "llm_response": {
- "description": "",
- "working_properly": true,
- "Emergency_Type": "Crowded",
- "image_info_ecs": "",
- "situation": "Visible lack of personal space near the counters with too many people packed together. The area appears congested, potentially causing discomfort and disruption to the flow of movement. Intervention may be needed to restore order and manage the crowd effectively.",
- "llm_calling": true
}, - "is_read": false,
- "item_created": "2025-06-17T15:06:14.473372",
- "action_taken": false,
- "notification_id": "b4951c7c-f728-4619-adbe-dd73235c6559",
- "file_path_s3": "folder/user1234/CPCAM1/2025-06-17/images/original/15-06-14-032133.jpeg",
- "cam_name": "CPCAM1",
- "item_type": "item#image#2025-06-17#17:04:55.805110"
}
}Update the status of an emergency situation (mark as read/action taken).
| user_id required | string (User Id) User ID for whom the situation item should be updated |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
| notification_id | string (Notification Id) Default: "7110d3a6-fe53-486e-a7ee-585e00837b29" |
| item_type | string (Item Type) Default: "item#image#2025-08-05#17:04:55.805110" |
| is_read required | boolean (Is Read) |
| action_taken required | boolean (Action Taken) |
{- "notification_id": "7110d3a6-fe53-486e-a7ee-585e00837b29",
- "item_type": "item#image#2025-08-05#17:04:55.805110",
- "is_read": true,
- "action_taken": true
}{- "status": true,
- "message": "Notification updated successfully"
}| user_id required | string (User Id) user_id of the user |
| notification_id required | string (Notification Id) notification id |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
nullRetrieve all emergency situation records for a user.
| user_id required | string (User Id) user id |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "string",
- "status": true,
- "data": {
- "Items": [
- {
- "emergency": true,
- "user_id": "string",
- "llm_response": {
- "description": "",
- "working_properly": true,
- "Emergency_Type": "Crowded",
- "image_info_ecs": "",
- "situation": "Visible lack of personal space near the counters with too many people packed together. The area appears congested, potentially causing discomfort and disruption to the flow of movement. Intervention may be needed to restore order and manage the crowd effectively.",
- "llm_calling": true
}, - "s3_bucket": "string",
- "action_taken": true,
- "is_read": true,
- "item_created": "string",
- "notification_id": "string",
- "file_path_s3": "string",
- "cam_name": "string",
- "item_type": "string"
}
]
}, - "pagination": {
- "LastEvaluatedKey": "string"
}
}Retrieve details of a specific emergency situation by notification ID.
| user_id required | string (User Id) Unique ID of the user |
| notification_id required | string (Notification Id) Unique ID of the notification |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "status": true,
- "data": {
- "emergency": true,
- "user_id": "string",
- "llm_response": {
- "description": "",
- "working_properly": true,
- "Emergency_Type": "Crowded",
- "image_info_ecs": "",
- "situation": "Visible lack of personal space near the counters with too many people packed together. The area appears congested, potentially causing discomfort and disruption to the flow of movement. Intervention may be needed to restore order and manage the crowd effectively.",
- "llm_calling": true
}, - "s3_bucket": "string",
- "action_taken": true,
- "is_read": true,
- "item_created": "string",
- "notification_id": "string",
- "file_path_s3": "string",
- "cam_name": "string",
- "item_type": "string"
}
}Generate a signed URL for accessing files stored in S3.
| file required | string (File) Path/key of the file in S3 |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{
}Upload multiple image files to the user's storage for LLM processing
| user_id required | string (User Id) User ID |
| cam_name required | string (Cam Name) Camera name |
| device_name required | string (Device Name) Device name |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
| files required | Array of strings <binary> (Files) [ items <binary > ] Upload up to 5 image files |
{- "user_id": "user1234",
- "status": true,
- "message": "Images uploaded successfully."
}Get a pre-signed URL for video upload.
| user_id required | string (User Id) User ID associated with the video upload. |
| cam_name required | string (Cam Name) Camera name associated with the video upload. |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "file_path_s3": "folder/user1234/2025-08-05/videos/20-09-37-556527.mp4",
}Returns a paginated list of signed image URLs for people identification.Note: The continuation_token must be URL-encoded before being passed in payload.
| user_id required | string (User Id) Unique user identifier. |
| limit | integer (Limit) Default: 10 Number of items to fetch. |
| continuation_token | string (Continuation Token) URL-encoded token for pagination, for very first request no need to pass |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "statusOnly": true,
- "image_data": [
], - "pagination": {
- "continuation_token": "1XHH9v2X43j4Htrl0epp2kdEGQGFHEYLdU5qWrgoJS87pnBGIGVjB46ZVvNAxfnH6xqu3CeF2UVTlumfzLFUd9xVMrCEY1HzqBreHoRe0QLuX8qEkAsGEsApNNc6idTJWFCoJDbuJTZiofkFRbDSI7mQRVX4oRrUpFyREdFkfomc="
}
}Upload image/file for people identification processing.
| user_id required | string (User Id) Unique user identifier. |
| file_name required | string (File Name) Name of the image file to upload. either zip or png |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "string",
- "status": true,
- "file_path_s3": "string",
- "s3_sign_url": "string"
}Move a people identified image to authorized/unauthorized category.
| user_id required | string (User Id) Unique user identifier. |
| Filename required | string (Filename) Image filename to be moved. |
| authorized required | string (Authorized) Indicates if the user is authorized (true/false). |
| cam_name required | string (Cam Name) Camera name from which the image was captured. |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "message": "image moved"
}Delete an identified people image .
| user_id required | string (User Id) Unique user identifier. |
| Filename required | string (Filename) Filename of the image to be deleted. |
Cam Name (string) or Cam Name (null) (Cam Name) Name of the camera that captured the image. |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "message": "image deleted"
}Retrieve user data including images and videos from specified camera and date.
| user_id required | string (User Id) User_ID |
| date required | string (Date) Date in YYYY-MM-DD format |
| cam_name required | string (Cam Name) Camera name or 'all' |
| emergency_filter required | string (Emergency Filter) 'all' or 'emergency'/'non-emergency' |
| type required | string (Type) 'image' or 'video' |
Lastevaluatedkey (string) or Lastevaluatedkey (null) (Lastevaluatedkey) Pagination key(if applicable) |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "device_data": {
- "image_items": [
- {
- "file_path_s3": "folder/user1234/CPCAM1/2025-06-17/images/original/15-06-14-032133.jpeg",
- "item_created": "2025-06-17T15:06:14.473372",
- "notification_id": "b4951c7c-f728-4619-adbe-dd73235c6559",
- "emergency": true,
- "llm_response": {
- "description": "",
- "working_properly": true,
- "Emergency_Type": "Crowded",
- "image_info_ecs": "",
- "situation": "Visible lack of personal space near the counters with too many people packed together. The area appears congested, potentially causing discomfort and disruption to the flow of movement. Intervention may be needed to restore order and manage the crowd effectively.",
- "llm_calling": true
}
}
], - "video_items": [ ]
}, - "pagination_keys": {
- "LastEvaluatedKey": { }
}
}Update user information with mock response.
| user_id required | string (User Id) User ID to update |
| mock_response | boolean (Mock Response) Default: false Pass True for mock, False for real update |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "user_id": "user1234",
- "status": true,
- "message": "Mock Reponse False updated"
}Report an issue with a device or service.
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
| user_id | string (User Id) Default: "user1234" |
| text | string (Text) Default: "camera not working" |
| mime_type | string (Mime Type) Default: "image/jpeg" |
{- "user_id": "user1234",
- "text": "camera not working",
- "mime_type": "image/jpeg"
}{- "user_id": "user1234",
- "status": true,
- "file_path_s3": "folder/user1234/current_date/issue_report/filename.jpeg",
}Submit feedback about the service or device.
| user_id | string (User Id) Default: "user1234" |
| text | string (Text) Default: "camera not working" |
| mime_type | string (Mime Type) Default: "image/jpeg" |
{- "user_id": "user1234",
- "text": "camera not working",
- "mime_type": "image/jpeg"
}{- "message": "Feedback stored. We'll revert to your feedback soon."
}Activate or deactivate the ECS status.
| activate required | boolean (Activate) Activate status either True or False |
| api-key required | string (Api-Key) API key for authentication |
| email required | string (Email) Email for authentication |
{- "status": true,
- "ecs_status": true
}