V2 API & WebSocket
V2 API & WebSocket
API V2 is the current generation of the Observ API. It gives you programmatic access to tasks, cameras, locations, event records, event types, counting statistics, VLM templates, video and image detection, compute targets, organizations, and users, over standard REST endpoints and real-time WebSocket streams.
✅ Updated 2026/10/07 — This release adds Counting APIs (REST + WebSocket), VLM Template create/update, bulk event record download, a unified Batch Update Task endpoint, manual detection triggers, bulk VLM model assignment, and Delete operations for tasks, cameras, and locations.
What's Included
Paginated list endpoints: Consistent paging and sorting across all lists.
Rich filters: Filter by location, camera, task, event type, review status, time range, and more.
Full CRUD: Create, read, update, and delete tasks, cameras, and locations.
Event records: Update review status and notes, or bulk-download records with media.
Batch updates: Change status, event types, thresholds, and other settings across many tasks in one call.
Manual triggers: Run detection on demand, outside the task schedule.
VLM support: Manage VLM templates and assign VLM models in bulk.
Counting: Query counting statistics or stream live updates.
Video & image detection: Upload media and retrieve detection results.
Real-time streaming: Get live events, video events, and counting updates over WebSocket.
API Summary List
Event Records
WS
/v2/events/realtime/{service_id}/{task_ids}
Real-Time Event Records (WebSocket)
GET
/v2/events/record
List Event Records
GET
/v2/events/record/{event_record_id}
Get Event Record
GET
/v2/events/record/download
Bulk Download Event Records
PATCH
/v2/events/record/{event_record_id}
Update Event Record
Task
GET
/v2/tasks
List Tasks
GET
/v2/tasks/{task_id}
Get Task
GET
/v2/tasks/vlm-relationship/{task_id}/{event_type_id}
Get Task VLM Relationship
POST
/v2/tasks
Create Task
PATCH
/v2/tasks/{task_id}
Update Task
PATCH
/v2/tasks/vlm-model/bulk
Bulk Assign VLM Model
PATCH
/v2/tasks/batch-task/{update_type}
Batch Update Task
DELETE
/v2/tasks/{task_id}
Delete Task
POST
/v2/tasks/manual-triggers
Manual Trigger
Camera
GET
/v2/cameras
List Cameras
GET
/v2/cameras/{camera_id}
Get Camera
POST
/v2/cameras
Create Camera
PATCH
/v2/cameras/{camera_id}
Update Camera
DELETE
/v2/cameras/{camera_id}
Delete Camera
Location
GET
/v2/locations
List Locations
GET
/v2/locations/{location_id}
Get Location
POST
/v2/locations
Create Location
PATCH
/v2/locations/{location_id}
Update Location
DELETE
/v2/locations/{location_id}
Delete Location
Scenario and Event Type
GET
/v2/events/type
List Event Types
GET
/v2/events/type/{event_type_id}
Get Event Type
GET
/v2/events/vlm-relationship/{event_type_id}
Get VLM Event Relationship
GET
/v2/events/zone
List Zones
GET
/v2/events/scenario
List Scenarios
GET
/v2/events/ontologyclass
List Ontology Classes
Counting
GET
/v2/counting
Get Counting Statistics
WS
/ws/counting
Real-Time Counting Updates (WebSocket)
VLM Template Plus
GET
/v2/vlms/template
List VLM Templates
GET
/v2/vlms/template/{vlm_template_id}
Get VLM Template
POST
/v2/vlms/template
Create VLM Template
PATCH
/v2/vlms/template/{vlm_template_id}
Update VLM Template
Video Detection
GET
/v2/videos
List Videos
GET
/v2/video-events/record
List Video Event Records
POST
/v2/videos
Create Video
POST
/v2/videos/generate-presigned-url
Create Video Upload URL
POST
/v2/videos/presigned-url-complete
Complete Video Upload URL
WS
/v2/video-events/realtime/{service_id}/{task_ids}
Real-Time Video Event Records (WebSocket)
Image Detection
GET
/v2/images
List Images
GET
/v2/images/{image_id}/result
Image Detection Result
POST
/v2/images
Upload Images
POST
/v2/images/complete
Complete Uploading Images
Compute Target
GET
/v2/compute-targets
List Compute Targets
GET
/v2/compute-targets/{compute_target_id}
Get Compute Target
Organization and User
GET
/v2/organizations
List Organizations
GET
/v2/organizations/{organization_id}
Get Organization
GET
/v2/users
List Users
GET
/v2/users/{user_id}
Get User
📌 This documentation continues to evolve as new endpoints are released.
Last updated