API Reference
Cameras API
Manage cameras and video recordings
Cameras API
Manage cameras, update settings, and create video recordings at customer sites.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /ext/v1/sites/{site_id}/cameras | Get cameras information |
| PUT | /ext/v1/sites/{site_id}/cameras/{camera_id} | Update camera options |
| POST | /ext/v1/sites/{site_id}/cameras/{camera_id}/events | Create event video |
| POST | /ext/v1/sites/{site_id}/cameras/{camera_id}/actions/create-recording-playback | Create 2-minute playback |
| POST | /ext/v1/sites/{site_id}/cameras/{camera_id}/actions/create-recording-event | Create video recording |
Get Cameras Information
Retrieve all cameras at a site.
Endpoint
GET /ext/v1/sites/{site_id}/cameras
Request Example
curl -X GET "https://api.chektdev.com/ext/v1/sites/site_123abc/cameras" \
-H "Authorization: Bearer YOUR_API_KEY"
Response (200 OK)
{
"data": {
"cameras": [
{
"camera_id": "cam_123",
"name": "Front Door Camera",
"location": "Front Entrance",
"status": "online",
"model": "CHeKT-CAM-4K",
"capabilities": {
"recording": true,
"motion_detection": true,
"night_vision": true,
"two_way_audio": true,
"ptz": false
},
"settings": {
"resolution": "3840x2160",
"frame_rate": 30,
"motion_detection_enabled": true,
"recording_mode": "continuous"
},
"last_seen": "2025-01-15T10:30:00Z"
}
]
}
}
Update Camera Options
Update camera settings and configuration.
Endpoint
PUT /ext/v1/sites/{site_id}/cameras/{camera_id}
Request Body
{
"name": "Front Door Camera - Updated",
"settings": {
"motion_detection_enabled": true,
"recording_mode": "motion_only",
"sensitivity": "high"
}
}
Response (200 OK)
{
"data": {
"camera_id": "cam_123",
"name": "Front Door Camera - Updated",
"settings": {
"motion_detection_enabled": true,
"recording_mode": "motion_only",
"sensitivity": "high"
},
"updated_at": "2025-01-15T11:00:00Z"
}
}
Create Event Video
Create a video recording triggered by an alarm event (with XML alarm data).
Endpoint
POST /ext/v1/sites/{site_id}/cameras/{camera_id}/events
Request Body
{
"event_type": "alarm_triggered",
"alarm_xml": "<AlarmEvent>...</AlarmEvent>",
"duration_seconds": 30,
"pre_buffer_seconds": 10
}
Response (200 OK)
{
"data": {
"recording_id": "rec_789",
"camera_id": "cam_123",
"event_type": "alarm_triggered",
"status": "recording",
"duration_seconds": 30,
"started_at": "2025-01-15T10:30:00Z"
}
}
Create 2-Minute Playback
Generate a 2-minute playback clip from recent footage.
Endpoint
POST /ext/v1/sites/{site_id}/cameras/{camera_id}/actions/create-recording-playback
Request Body
{
"start_time": "2025-01-15T10:28:00Z",
"duration_seconds": 120
}
Request Example
curl -X POST "https://api.chektdev.com/ext/v1/sites/site_123abc/cameras/cam_123/actions/create-recording-playback" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"start_time": "2025-01-15T10:28:00Z",
"duration_seconds": 120
}'
Response (200 OK)
{
"data": {
"recording_id": "rec_456",
"camera_id": "cam_123",
"type": "playback",
"start_time": "2025-01-15T10:28:00Z",
"duration_seconds": 120,
"status": "processing",
"playback_url": "https://recordings.chektdev.com/rec_456",
"expires_at": "2025-01-22T10:30:00Z"
}
}
Create Video Recording
Create a custom video recording.
Endpoint
POST /ext/v1/sites/{site_id}/cameras/{camera_id}/actions/create-recording-event
Request Body
{
"event_name": "Manual Recording",
"duration_seconds": 60,
"tags": ["manual", "inspection"]
}
Response (200 OK)
{
"data": {
"recording_id": "rec_321",
"camera_id": "cam_123",
"event_name": "Manual Recording",
"duration_seconds": 60,
"status": "recording",
"tags": ["manual", "inspection"],
"started_at": "2025-01-15T10:30:00Z"
}
}
Camera Status Values
| Status | Description |
|---|---|
online | Camera is connected and operational |
offline | Camera is not responding |
error | Camera has an error condition |
recording | Camera is actively recording |
maintenance | Camera is in maintenance mode |
Recording Modes
| Mode | Description |
|---|---|
continuous | Record 24/7 continuously |
motion_only | Record only when motion detected |
scheduled | Record during scheduled periods |
event_triggered | Record when specific events occur |
off | Recording disabled |
Alternative Endpoints
Using Reference ID
GET /ref/v1/sites/{account_reference_id}/cameras
PUT /ref/v1/sites/{account_reference_id}/cameras/{camera_id}
Next Steps
- Zones API - Manage security zones
- Sites API - View site information
- Webhook Events - Camera event notifications