Add People to Watchlists
Watchlists are named collections of enrolled subjects that VPP matches against every face it detects. When a camera captures a face, VPP checks it against all configured watchlists and the Hub emits an identification event — identification.clearance.green for an allowed-watchlist match, identification.clearance.red for a denied-watchlist match, or identification.no_match if no subject is found.
Watchlists and their members are owned and managed by VPP. The Hub proxies this data to the GUI but holds no local copy.
Prerequisites
- The stack is running with at least one camera active (see Add Cameras)
- Face images of the subjects you want to enroll (JPEG or PNG, frontal face, good lighting)
Step 1 — Create watchlists in VPP
Create your allowed and denied watchlists in the VPP Admin interface at http://localhost:8000 (or via the VPP API). Note each watchlist's ID — you will need it both to enroll members and to wire allowed watchlists into the Hub.
Step 2 — Mark which watchlists grant GREEN clearance
The Hub decides clearance from the VPP_ADAPTER_ALLOWED_WATCHLISTS setting in .env.hub — a comma-separated list of watchlist IDs that produce a GREEN (allowed) clearance. Any matched watchlist not in this list produces RED.
VPP_ADAPTER_ALLOWED_WATCHLISTS=<allowed-watchlist-id-1>,<allowed-watchlist-id-2>
Apply the change by restarting the Hub:
docker compose up -d hub
Step 3 — Enroll subjects
Enroll each person by submitting their face image to the relevant watchlist through VPP Admin or the VPP API. VPP extracts the biometric template; the subject becomes active for matching immediately, with no restart. Refer to the VPP platform documentation for the authoritative enrollment API and image-quality requirements.
Step 4 — Verify identification events
With a camera running and a subject enrolled, walk in front of the camera and query the Hub's GraphQL API at http://localhost:8090/corridor-foundation/graphql, or watch the dashboard at http://localhost:8095. A match with GREEN or RED clearance confirms the full pipeline — camera → VPP → Hub → event stream — is working end to end.
Next steps
- Review the Event Catalog for all notification types your integration can subscribe to
- Explore the Integration Overview to connect your system to the Hub's GraphQL subscriptions