Skip to content
Lexoh API

Camera and Video API

OpenAPI JSON

Retrieve cameras and recorded events

Camera data and media use /v1/camera routes. JSON record responses and binary video responses are different response types.

POST /v1/camera/list

List cameras

Required permissions

  • can_view_cameras

Authentication, MFA and resource-scope restrictions still apply.

Requires can_view_cameras. Send an empty JSON object to retrieve the camera list. The response contains success, cameras and count; this operation does not use the device-list pagination fields.

Request Example

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/camera/list" \
  -H "SessionID: SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Response Example

Example with no cameras.

{
  "success": true,
  "cameras": [],
  "count": 0
}

POST /v1/camera

Retrieve one camera and its stream field

Required permissions

  • can_view_cameras

Authentication, MFA and resource-scope restrictions still apply.

A successful response contains camera. Its stream field supplies the WebRTC signaling URL when a monitor is configured; otherwise that field is empty. Treat returned camera details and stream URLs as sensitive.

Request Example

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/camera" \
  -H "SessionID: SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":123}'

POST /v1/camera/event/list

List camera events

Required permissions

  • can_view_camera_events

Authentication, MFA and resource-scope restrictions still apply.

Requires can_view_camera_events. The response contains success, events and count. page starts at 1; page_limit defaults to 25 and is capped at 500.

Request Example

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/camera/event/list" \
  -H "SessionID: SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"page":1,"page_limit":25}'

Response Example

Example with no matching camera events.

{
  "success": true,
  "events": [],
  "count": 0
}

GET /v1/camera/event/clip/EVENT_ID

Download an available event clip

Replace EVENT_ID with the recording’s event identifier. Requires can_view_camera_events. A successful response returns video/mp4, not a JSON stream URL.

Request Example

curl -X GET "https://your-lexoh-server.app.lexoh.com:3000/v1/camera/event/clip/EVENT_ID" \
  -H "SessionID: SESSION_TOKEN"

Recorded HLS media

GET /v1/camera/event/vod/EVENT_ID/master.m3u8 returns an available HLS playlist. The same route with the requested segment filename returns video/MP2T content. These requests require an authenticated session and camera-event viewing permission.

Query operational events

Filter activity records and paginate their results.

Events API →
Call Lexoh 1-888-401-8019