Get your first observations in five requests.
Save a reusable video question, run it against one authorized recording, and retrieve typed findings with exact evidence ranges.
Create a server-side key
In Console โ API Keys, create a credential and copy it immediately. Store it in your secret manager.
export CCT_API_KEY="cct_your_secret_key"Trust the media hostname
Add the exact hostname that serves your direct HTTPS video under Console โ Trusted Sources. Do not include a scheme, path, or wildcard.
media.example.comNothttps://*.example.com/videos/Create a saved scanner
Say exactly what visible or audible evidence you want. The definition is versioned so later runs remain attributable to the instructions that produced them.
curl -X POST https://api.chatclipthat.com/v1/scanners \
-H "Authorization: Bearer $CCT_API_KEY" \
-H "Idempotency-Key: quickstart-scanner-001" \
-H "Content-Type: application/json" \
-d '{
"name": "Onboarding friction",
"type": "find_moments",
"instructions": "Find where the user repeats a setup action, receives an error, or says they cannot continue. Preserve the action through its outcome.",
"profile": "conversation",
"max_observations": 10,
"min_seconds": 10,
"max_seconds": 60,
"output": {"fields": ["title", "summary", "start_ms", "end_ms", "relevance_score", "transcript_excerpt"]},
"metadata": {"team": "product"}
}'The response returns a scanner_id and version 1. Later edits create new versions without rewriting old run provenance.
Run the scanner
Each run snapshots the current scanner version and accepts source-specific metadata for later filtering.
curl -X POST https://api.chatclipthat.com/v1/scanners/scn_YOUR_ID/runs \
-H "Authorization: Bearer $CCT_API_KEY" \
-H "Idempotency-Key: quickstart-run-001" \
-H "Content-Type: application/json" \
-d '{
"source_url": "https://media.example.com/demo.mp4",
"metadata": {"cohort": "new-user", "recording_id": "rec_1842"}
}'Poll GET /v1/runs/{run_id} every 5โ10 seconds until completed or failed.
Read typed observations
curl https://api.chatclipthat.com/v1/runs/run_YOUR_ID/observations \
-H "Authorization: Bearer $CCT_API_KEY"Each result includes explicit semantics, a typed value, relevance for ranking, scanner-version provenance, source metadata, and timestamped evidence. A completed run may correctly return zero observations.
POST /v1/analyses remains available when you do not need a saved definition. Rendering selected Moments through POST /v1/renders is optional.