For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Category
Method
Endpoint
Summary

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