Skip to content
ChatClipThatAPI
Scanner quickstart

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.

1

Create a server-side key

In Console โ†’ API Keys, create a credential and copy it immediately. Store it in your secret manager.

Shell
export CCT_API_KEY="cct_your_secret_key"
2

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.

Usemedia.example.comNothttps://*.example.com/videos/
3

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
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.

4

Run the scanner

Each run snapshots the current scanner version and accepts source-specific metadata for later filtering.

cURL
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.

5

Read typed observations

cURL
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.

Need a one-off request? POST /v1/analyses remains available when you do not need a saved definition. Rendering selected Moments through POST /v1/renders is optional.