Skip to content

Quickstart ​

1. Enable API access ​

Create a Clutch account and email Brennan with the account email and your integration use case. Ask for a test camera ID before testing recording controls.

Keep account credentials and API tokens on your backend. Example IDs and credentials throughout these docs are placeholders.

2. Log in ​

sh
curl --request POST 'https://api.clutchapp.io/v1/auth/login' \
  --header 'Content-Type: application/json' \
  --data '{"email":"partner@example.com","password":"YOUR_PASSWORD"}'

The response contains data.token. Reuse this token across backend workers for its 12-hour lifetime; allow only one login in flight per account.

json
{
  "data": {
    "id": "dd2dfc8c-4244-4a6e-b410-eec76f9254c0",
    "token": "YOUR_TOKEN"
  }
}

Read authentication and bounded retry rules before implementing automatic token renewal.

3. Check a camera ​

sh
curl 'https://api.clutchapp.io/v1/clutchcam/device/YOUR_CAMERA_ID/status' \
  --header 'Authorization: Bearer YOUR_TOKEN'

The camera must be available before starting a recording. unavailable means offline. See all camera states.

4. Start and finish a test recording ​

Use the test camera supplied by Clutch. Starting a physical camera records real activity.

sh
curl --request POST 'https://api.clutchapp.io/v1/clutchcam/device/YOUR_CAMERA_ID/start' \
  --header 'Authorization: Bearer YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{"recording_type":"match","game_type":"doubles","max_recording_duration_min":10,"privacy":"private"}'

Save data.video_id from the response. To finish early, call POST /clutchcam/device/{device_id}/stop. A camera normally enters stopping before becoming available again; an immediate new start may fail.

5. Follow processing and retrieve outputs ​

Use GET /video/{video_id}/status or webhooks, then retrieve GET /video/{video_id}/results.

HTTP 202 from /results means outputs are unavailable right now. Stop polling permanently failed starts and cancelled recordings. HTTP 200 during delayed processing can contain only raw video or an empty outputs list. Follow the recording lifecycle rules.

Next steps ​

Clutch Partner API · v1