Developer Docs

Quick reference for the Condor Vision REST API and edge agent. Full machine-readable spec: openapi.json.

On this page Authentication Cameras Frames Analysis Watches Monitor Real-time Events Edge Agent

Authentication

Every authenticated request needs an API key in the Authorization header:

Authorization: Bearer cv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Get your key from the dashboard. Rate limit: 120 requests / minute / key. Plans tier the resource limits (cameras, retention, watches), not the API request limit.

Cameras

POST/v1/cameras

Register a camera source. Returns a cam_xxx ID used in subsequent endpoints.

{
  "name": "Front porch",
  "description": "Outdoor RTSP camera",
  "source_type": "rtsp"
}
GET/v1/cameras

List cameras you own.

DELETE/v1/cameras/{camera_id}

Delete a camera and all its stored frames.

Frames

POST/v1/cameras/{camera_id}/frames

Upload a single JPEG. Multipart form: image (binary, ≤ 10MB) and optional metadata (JSON string). Returns 202 Accepted.

GET/v1/cameras/{camera_id}/frames?limit=20&since=ISO_TS

List recent frames newest-first. since is an ISO-8601 timestamp; only frames created after this time are returned.

GET/v1/cameras/{camera_id}/frames/{frame_id}/image

Fetch a JPEG. Returns either the bytes directly (local storage) or a signed redirect URL (GCS).

Analysis

POST/v1/cameras/{camera_id}/analyze

Send a frame and a question; get a Gemini answer.

{
  "frame_id": "frm_abc123",     // or "latest"
  "question": "Is anyone in this frame?"
}
POST/v1/cameras/{camera_id}/compare

Compare two frames and describe what changed.

Watches

POST/v1/cameras/{camera_id}/watches

Create an automated watch. The server checks the condition periodically and fires a webhook when met. Plan limits: free=1, plus=5, pro=unlimited.

{
  "condition": "person at the door",
  "check_interval_seconds": 60,
  "webhook_url": "https://your-app.example.com/condor-webhook"
}

The response includes webhook_secret once. Store it; it won't be shown again. Verify incoming webhooks by computing HMAC-SHA256(secret, body) and comparing to the X-Condor-Signature header.

Monitor

POST/v1/cameras/{camera_id}/monitor

Start an active monitoring session for N minutes. The server collects events during the window and produces a report.

GET/v1/cameras/{camera_id}/monitor/{session_id}/report

Get the aggregated report once the session ends.

Real-time Events

GET/v1/events/stream

Server-Sent Events stream. EventSource cannot set headers, so pass the key as ?api_key=cv_xxx. Event types: frame_upload, watch_trigger. Slow consumers have events dropped (queue depth 100); use webhooks if you need durable delivery.

Self-host the Edge Agent

An edge agent is available for advanced users with RTSP IP cameras or dedicated devices that need to push frames to Condor Vision automatically. Currently the agent is provisioned by request — contact support@condorbox.ai for early access.

Need help? Contact us or email support@condorbox.ai.