API Reference

Cameras API

Manage cameras and video recordings

Cameras API

Manage cameras, update settings, and create video recordings at customer sites.

Endpoints Overview

MethodEndpointDescription
GET/ext/v1/sites/{site_id}/camerasGet cameras information
PUT/ext/v1/sites/{site_id}/cameras/{camera_id}Update camera options
POST/ext/v1/sites/{site_id}/cameras/{camera_id}/eventsCreate event video
POST/ext/v1/sites/{site_id}/cameras/{camera_id}/actions/create-recording-playbackCreate 2-minute playback
POST/ext/v1/sites/{site_id}/cameras/{camera_id}/actions/create-recording-eventCreate 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

StatusDescription
onlineCamera is connected and operational
offlineCamera is not responding
errorCamera has an error condition
recordingCamera is actively recording
maintenanceCamera is in maintenance mode

Recording Modes

ModeDescription
continuousRecord 24/7 continuously
motion_onlyRecord only when motion detected
scheduledRecord during scheduled periods
event_triggeredRecord when specific events occur
offRecording 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