AI Insights & People
Core Platforminsights_activity_readCCTVWho was in a facility and how busy it was. report_snapshots is the place to start: visits, unique people, gender, durations and identification for a date range, optionally per camera and by hour. timeline lists visits (who, when, how long, which cameras) from CCTV face recognition. checkins lists member swipes and visits from the member management system, with the members. For one person's history use insights_people_read activity.
Actions:
- report_snapshots: Activity report. A date range of today only uses the live report. Needs startDate, endDate.
- timeline: Visit timeline. Visit blocks with counts per match type, camera, membership status and check-in. Camera group filters drop visits seen only at, say, Reception.
- checkins: Check-ins. Newest first, with the matching members. Defaults to the last 2 days.
Parameters
| Name | Type | Description |
|---|---|---|
action* | "report_snapshots" | "timeline" | "checkins" | What to do; each action is described in the tool description. |
startDate | string | First day (YYYY-MM-DD) |
endDate | string | Last day (YYYY-MM-DD) |
detail | "summary" | "standard" | "full" | How much to return (default standard) (report_snapshots, timeline) |
facilityId | string | Facility ID. Optional when the connected facility is the one you mean. |
timezone | string | IANA timezone the dates are in (default the facility's) (timeline, checkins) |
personId | string | Person ID from insights_people_read search or insights_activity_read timeline (timeline) |
query | string | Person name to search for (timeline) |
matchType | "identified" | "unsure" | "blacklist" | Only visits with this match type (timeline) |
membershipStatus | string | Membership status, e.g. "active", "expired" or "on_hold" (timeline) |
sortBy | "startUnix" | "endUnix" | "created" | Sort field (default endUnix) (timeline) |
sortOrder | "asc" | "desc" | Sort direction (default desc) (timeline) |
excludeCameraGroups | array | Drop visits seen only on these camera groups, e.g. ["Reception"] (timeline) |
includeCameraGroups | array | Keep visits seen on at least one of these camera groups (timeline) |
limit | integer | Items per page (default 25, at most 100) (timeline, checkins) |
cursor | string | nextCursor from the previous page (timeline, checkins) |
checkInType | "member" | "class" | "staff" | "guest" | "trial" | Only this kind of check-in (checkins) |
source | "manual" | "tag" | "rfid" | "kiosk" | "app" | "door_reader" | "booking" | Only check-ins captured this way (checkins) |
insights_people_readCCTVPeople known to a facility's AI Insights (CCTV face recognition), enriched with membership data. search finds people by name or membership; get returns one profile with plans and contact details; activity is a person's visit log (each camera detection); match_unidentified suggests which members unidentified faces belong to, by matching their visits with check-in swipes. Needs the people feature at the facility. For who was in the facility, use insights_activity_read timeline.
Actions:
- search: Search people. Fuzzy name search with counts per membership status and member type.
- get: Get a person. Profile with membership status, plans, member type and mobile. Needs personId.
- activity: A person's visit log. Camera detections newest first, with the cameras they were on. Defaults to the last 7 days. Needs personId.
- match_unidentified: Match unidentified people to members. Ranks members whose check-ins repeatedly come shortly before an unidentified face is seen, and groups duplicate unidentified profiles. Read-only; nothing is linked. Defaults to the last 30 days.
Parameters
| Name | Type | Description |
|---|---|---|
action* | "search" | "get" | "activity" | "match_unidentified" | What to do; each action is described in the tool description. |
query | string | Name to search for (search) |
membershipStatus | string | Membership status, e.g. "active", "expired", "on_hold" or "none" (search) |
memberType | string | Member type, e.g. "member", "guest" or "staff" (search) |
sortBy | "created" | "lastName" | "firstName" | "membershipUpdatedOn" | Sort field (default created) (search) |
sortOrder | "asc" | "desc" | Sort direction (default desc) (search) |
limit | integer | Items per page (default 25, at most 100) (search, activity) |
cursor | string | nextCursor from the previous page (search, activity) |
facilityId | string | Facility ID. Optional when the connected facility is the one you mean. |
personId | string | Person ID from insights_people_read search or insights_activity_read timeline (get, activity) |
startDate | string | First day (YYYY-MM-DD) (activity, match_unidentified) |
endDate | string | Last day (YYYY-MM-DD) (activity, match_unidentified) |
timezone | string | IANA timezone the dates are in, e.g. "Australia/Brisbane" (default Pacific/Auckland) (activity, match_unidentified) |
detail | "summary" | "standard" | "full" | How much to return (default standard) (activity) |
lookbackMinutes | integer | How long before a detection a check-in can be (default 60) (match_unidentified) |
minVisits | integer | Visits an unidentified person needs to be considered (default 3) (match_unidentified) |
minProbability | number | Lowest match score to include, 0 to 1 (default 0.5) (match_unidentified) |