API Quick Start

# Connect and read events

Use the API address provided by Watch and a key with event-read access. Run the checks from a computer that can reach Watch. You can verify the connection before connecting a camera or installing an SDK.

## 1\. Get your address and key

## Watch desktop

1.  Open Settings → API & integrations → Connection settings. For access from a second device, enable the LAN API and select that device’s trusted network.
2.  Copy the API address shown in Watch. Create an event-read API key and save the full, once-displayed key locally.
3.  To test without a terminal, open the event viewer address shown by Watch (ending in /viewer/) on a device on the trusted LAN. Verify the address belongs to your Watch host before entering the key in its password field and selecting Connect. The connected status confirms access even when there are no events from the past five hours.

The desktop LAN API provides read-only access to events and available evidence. Manage cameras, monitoring settings, and offline work inside Watch. [v0.39 events and evidence reference](https://watch.tensordynamics.org/developers/events)

If an administrator provides an existing Event API, use its address and an events:read key. No additional service installation is needed.

## 2\. Check reachability from a terminal

If the viewer shows a connected status, your first event-read test is complete. To verify a programmatic integration, copy the API base address from Watch, without /viewer/ or a trailing slash. Test on the computer that will run the integration. On another computer, localhost points to that computer.

macOS / Linux

```
WATCH_URL='http://YOUR_WATCH_IP:PORT'
curl -q --noproxy '*' -sS --max-time 10 -o /dev/null -w 'Health HTTP %{http_code}\n' "$WATCH_URL/healthz"
```

Windows PowerShell

```
$WatchUrl = 'http://YOUR_WATCH_IP:PORT'
(Invoke-WebRequest -UseBasicParsing -MaximumRedirection 0 -TimeoutSec 10 -Uri "$WatchUrl/healthz").StatusCode
```

200 means the service answered. For a connection failure, check the address, port, selected network, and whether Watch is still running.

## 3\. Make a read-only request

Load the key into the WATCH\_API\_KEY environment variable using your local secret manager, then run one example below. The checks display only the HTTP status and keep event contents out of the terminal. Send the key only to the Watch address you just verified.

macOS / Linux

```
curl -q --noproxy '*' -sS --max-time 10 -o /dev/null -w 'Events HTTP %{http_code}\n' \
  -H "Authorization: Bearer $WATCH_API_KEY" "$WATCH_URL/v1/events?limit=1"
```

Windows PowerShell

```
$Headers = @{ Authorization = "Bearer $env:WATCH_API_KEY" }
(Invoke-WebRequest -UseBasicParsing -MaximumRedirection 0 -TimeoutSec 10 -Headers $Headers -Uri "$WatchUrl/v1/events?limit=1").StatusCode
```

200 confirms that the key can read event history even if it is empty. For 401, check the key locally for truncation or revocation. For 403, ask the administrator to check event-read access and the client’s network.

This check confirms event-read access only. Use Watch for settings, missions, schedules, and database operations. The public API does not provide those writes.

## Next steps

*   [Read event details, subscribe to new events, or retrieve an available snapshot](https://watch.tensordynamics.org/developers/events?lang=en)
*   [Configure desktop event delivery and its sentinel.alert.v1 payload](https://watch.tensordynamics.org/developers/webhooks?lang=en)
*   [Use the setup assistant for guided installation or troubleshooting](https://watch.tensordynamics.org/docs/setup-assistant?lang=en)

---
Source: https://watch.tensordynamics.org/developers/quickstart
More Watch guides: https://watch.tensordynamics.org/llms.txt
