Search person detections of the application's organization.
Only timeRange is required; every other filter is optional. Filters are combined with AND
semantics, values inside an array filter are OR-ed.
Results are sorted by startTime descending (newest first) and paginated with page/size
(zero-based page, size 1..100, default 25).
The response envelope always includes the total number of detections matching the filters, so
total can exceed items.length.
cameraIds and locationIds intersect: a detection must match all provided scope filters.
An empty intersection returns an empty page with total: 0.
Each returned detection carries its trackerId, objectId (PERSON / VEHICLE), the
detection startTime and endTime in milliseconds since epoch, the camera, edge and location
names, the IANA timezone of the camera location, and two image URLs: thumbnailUrl
(GET /v3/search/trackers/{trackerId}/thumbnail, the detection frame) and identityUrl
(GET /v3/search/trackers/{trackerId}/identity, the cropped object). Fetch either with the
same access token — Authorization: Bearer <token> header. Either URL can be
null when the image is unavailable.
Filters:
| filter | meaning |
|---|---|
timeRange | Required. { start, end } in milliseconds since epoch. |
cameraIds | Only detections from these cameras. |
locationIds | Only detections from cameras at these locations. |
upperBodyTypes | Upper body clothing types. |
upperBodyColors | Upper body clothing colors. |
lowerBodyTypes | Lower body clothing types. |
lowerBodyColors | Lower body clothing colors. |
genders | Genders. |
ageGroups | Age groups. |
accessories | Accessories worn. |
carrying | Carried items. |
hairColors | Hair colors. |
footwearColors | Footwear colors. |
personIds | Only detections face-matched to these saved person ids, AND-ed with the attribute filters. |
faceImageUrl | Public http(s) URL of a face image. Only detections of that face, AND-ed with the attribute filters. |
Attribute values:
| filter | values |
|---|---|
| colors (all color filters) | BLACK, BLUE, BROWN, GREEN, GREY, ORANGE, PINK, PURPLE, RED, YELLOW, WHITE |
upperBodyTypes | SHORT_SLEEVE, LONG_SLEEVE, LOGO, NO_LOGO, SOLID, NOT_SOLID |
lowerBodyTypes | SHORTS, TROUSERS, SKIRT_AND_DRESS, SOLID, NOT_SOLID |
genders | MALE, FEMALE |
ageGroups | UNDER_18, FROM_18_TO_60, OVER_60 |
accessories | HAT, NO_HAT, GLASSES, NO_GLASSES |
carrying | BAG, NO_BAG, OBJECT, NO_OBJECT |
When a detection is face-matched to a saved person, the item carries personId, personName
and faceConfidence (1 = none, 3 = low, 5 = medium, 7 = high).
Search by face image: pass faceImageUrl, a public http(s) URL of a JPEG, PNG or WEBP image
(max 10MB) showing one clear face, the same kind of URL the Face API takes when creating a person.
The face is extracted from the image and matched against every person detection in the time range
with the organization's face-match threshold, the same way an image search on the Search page
works. The person does not need to be saved. The image is used for this search only and is not
stored. Together with personIds, a detection matches if it is the face in the image OR one of
the saved persons; both are AND-ed with the attribute filters. The response shape is unchanged.
A URL that cannot be downloaded (including private or local network addresses) or is not an image
answers 400; an image with no face, or a face too low in quality, answers 422. When face
recognition is temporarily unavailable the search answers 503; retry later.
Request examples:
{ "timeRange": { "start": 1752451200000, "end": 1752537600000 } }{
"timeRange": { "start": 1752451200000, "end": 1752537600000 },
"upperBodyColors": ["BLACK"],
"upperBodyTypes": ["LONG_SLEEVE"],
"genders": ["MALE"],
"ageGroups": ["FROM_18_TO_60"],
"accessories": ["HAT"],
"page": 0,
"size": 25
}{
"timeRange": { "start": 1752451200000, "end": 1752537600000 },
"personIds": [12345],
"cameraIds": ["6a460f4759e6bb0eb32c6778"]
}{
"timeRange": { "start": 1752451200000, "end": 1752537600000 },
"locationIds": ["60c72b2f9b1d8e001c8a4d3f"],
"carrying": ["BAG"]
}{
"timeRange": { "start": 1752451200000, "end": 1752537600000 },
"faceImageUrl": "https://example.com/images/face.jpg",
"cameraIds": ["6a460f4759e6bb0eb32c6778"]
}Required scope: read:search
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid request: missing timeRange, unknown attribute value, non-numeric personIds, page below 0, size outside 1..100, or a faceImageUrl that is not an http(s) URL, cannot be downloaded, or is not a JPEG, PNG or WEBP image.
422The image at faceImageUrl contains no face, or the face quality is too low to search by.
500Internal server error.
503Face recognition is temporarily unavailable for a search by faceImageUrl. Retry later.
