Aeyi API (1.0.0)

Download OpenAPI specification:

Aeyi Support Team: info@aeyisurve.com

Aeyi API Documentation

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.

Overview

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.

Authentication

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>

Support

For technical support and API questions, please contact our support team or refer to our documentation.

API Key Management

Get API Key

Retrieve a list of all API keys.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create API Key

Create a new API key.

Request Body schema: application/json
required
required
Id (integer) or Id (string) (Id)
email
Array of strings (Email)
Default: ["dummy@account.com"]
name
string (Name)
Default: "first-key"
status
string (Status)
Default: "enabled"

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "email": [
    ],
  • "name": "first-key",
  • "status": "enabled"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "email": [
    ],
  • "name": "first-key",
  • "status": "enabled"
}

Edit API Key

Edit an existing API key details.

Request Body schema: application/json
required
required
Id (integer) or Id (string) (Id)
email
Array of strings (Email)
Default: ["dummy@account.com","dummy1@account.com"]
status
string (Status)
Default: "disabled"

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "email": [
    ],
  • "status": "disabled"
}

Response samples

Content type
application/json
null

Delete API Key

Delete an existing API key.

query Parameters
item_id
required
string (Item Id)

ID of the key to delete

Responses

Response samples

Content type
application/json
null

Device Management

Get Device List

Returns a list of devices associated with the user.

query Parameters
User Id (string) or User Id (null) (User Id)

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "camera_list": [
    ]
}

Update Device Info

Update device information and configuration.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "user_id": "string",
  • "device_name": "string",
  • "device_id": "string",
  • "status": "string",
  • "mac_address": "string",
  • "board_type": "string",
  • "ip_address": "string",
  • "wifi_details": {
    }
}

Response samples

Content type
application/json
null

Connect Device

Establish connection with a specified device.

Request Body schema: application/json
required
user_id
string (User Id)
Default: "user1234"
device_id
string (Device Id)
Default: "Device_2"

Responses

Request samples

Content type
application/json
{
  • "user_id": "user1234",
  • "device_id": "Device_2"
}

Response samples

Content type
application/json
{
  • "message": "Connection Success"
}

Camera Management

Get Device Camera List

Retrieve the list of cameras and their configuration for a specific user.

path Parameters
user_id
required
string (User Id)

User ID to retrieve the camera list for

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "camera_dict": {
    }
}

Add new camera to device

Add a new camera configuration to the user's device.

path Parameters
user_id
required
string (User Id)

User ID for whom the camera should be added.

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "device_name": "Device_1",
  • "cam_name": "CPCAM1",
  • "prompt": "prompt",
  • "url": "rtsp://stream/url.sdp",
  • "status": "Active",
  • "features": {
    }
}

Response samples

Content type
application/json
{
  • "user_id": "string",
  • "status": true,
  • "camera_dict": {
    }
}

Update camera configuration

Update existing camera settings and features.

path Parameters
user_id
required
string (User Id)

user id

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "device_name": "Device_1",
  • "cam_name": "CPCAM1",
  • "prompt": "prompt",
  • "url": "rtsp://stream/url.sdp",
  • "status": "Active",
  • "features": {
    }
}

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "message": "Status Updated"
}

Delete camera from device

Remove a camera from the user's device configuration.

path Parameters
user_id
required
string (User Id)

User ID to delete the camera from

query Parameters
device_name
required
string (Device Name)

Name of the device

cam_name
required
string (Cam Name)

Name of the camera to delete

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "message": "Successfully deleted"
}

Situation Management

Get Situation Status

Retrieve current emergency situation status for a user.

query Parameters
user_id
required
string (User Id)

User ID

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "situation_data": {
    }
}

Update Situation Status

Update the status of an emergency situation (mark as read/action taken).

query Parameters
user_id
required
string (User Id)

User ID for whom the situation item should be updated

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "notification_id": "7110d3a6-fe53-486e-a7ee-585e00837b29",
  • "item_type": "item#image#2025-08-05#17:04:55.805110",
  • "is_read": true,
  • "action_taken": true
}

Response samples

Content type
application/json
{
  • "status": true,
  • "message": "Notification updated successfully"
}

Get Situation Voice

query Parameters
user_id
required
string (User Id)

user_id of the user

notification_id
required
string (Notification Id)

notification id

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
null

Get emergency situation items

Retrieve all emergency situation records for a user.

path Parameters
user_id
required
string (User Id)

user id

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "string",
  • "status": true,
  • "data": {
    },
  • "pagination": {
    }
}

Get Situation by Notification ID

Retrieve details of a specific emergency situation by notification ID.

path Parameters
user_id
required
string (User Id)

Unique ID of the user

notification_id
required
string (Notification Id)

Unique ID of the notification

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "data": {
    }
}

File Management

Get signed S3 file URL

Generate a signed URL for accessing files stored in S3.

query Parameters
file
required
string (File)

Path/key of the file in S3

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json

Upload Images

Upload multiple image files to the user's storage for LLM processing

query Parameters
user_id
required
string (User Id)

User ID

cam_name
required
string (Cam Name)

Camera name

device_name
required
string (Device Name)

Device name

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Request Body schema: multipart/form-data
required
files
required
Array of strings <binary> (Files) [ items <binary > ]

Upload up to 5 image files

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "message": "Images uploaded successfully."
}

Get Video Upload URL

Get a pre-signed URL for video upload.

query Parameters
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.

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{}

People Identification

Get List of People identified

Returns a paginated list of signed image URLs for people identification.Note: The continuation_token must be URL-encoded before being passed in payload.

query Parameters
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

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "statusOnly": true,
  • "image_data": [],
  • "pagination": {
    }
}

Upload Identified People List

Upload image/file for people identification processing.

query Parameters
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

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "string",
  • "status": true,
  • "file_path_s3": "string",
  • "s3_sign_url": "string"
}

Move Identified People Image

Move a people identified image to authorized/unauthorized category.

query Parameters
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.

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "message": "image moved"
}

Delete identified people

Delete an identified people image .

query Parameters
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.

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "message": "image deleted"
}

User Management

Get User Data

Retrieve user data including images and videos from specified camera and date.

query Parameters
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)

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "device_data": {
    },
  • "pagination_keys": {
    }
}

Update User Information

Update user information with mock response.

query Parameters
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

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "user_id": "user1234",
  • "status": true,
  • "message": "Mock Reponse False updated"
}

Feedback & Support

Report Issue

Report an issue with a device or service.

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Request Body schema: application/json
required
user_id
string (User Id)
Default: "user1234"
text
string (Text)
Default: "camera not working"
mime_type
string (Mime Type)
Default: "image/jpeg"

Responses

Request samples

Content type
application/json
{
  • "user_id": "user1234",
  • "text": "camera not working",
  • "mime_type": "image/jpeg"
}

Response samples

Content type
application/json
{}

Submit Feedback

Submit feedback about the service or device.

Request Body schema: application/json
required
user_id
string (User Id)
Default: "user1234"
text
string (Text)
Default: "camera not working"
mime_type
string (Mime Type)
Default: "image/jpeg"

Responses

Request samples

Content type
application/json
{
  • "user_id": "user1234",
  • "text": "camera not working",
  • "mime_type": "image/jpeg"
}

Response samples

Content type
application/json
{
  • "message": "Feedback stored. We'll revert to your feedback soon."
}

System Administration

Patch ECS Status

Activate or deactivate the ECS status.

query Parameters
activate
required
boolean (Activate)

Activate status either True or False

header Parameters
api-key
required
string (Api-Key)

API key for authentication

email
required
string (Email)

Email for authentication

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "ecs_status": true
}

General

Get FAQ

Retrieve frequently asked questions and their answers.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Prompt List

Retrieve a list of available prompts for the system.

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get Available Networks

Retrieve a list of available networks.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Feature's List

Retrieve a list of features available.

Responses

Response samples

Content type
application/json
[
  • "string"
]