Detections
Query a person's (or a face's) detection history — the times that face was seen by a detector, with the confidence, detector name, and the detection photo.
API Endpoints
- Base URL (Cloud):
https://customername.econnectcloud.com/identities - Base URL (On-prem):
https://<server-host-or-ip>:5009
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/people/detections/personId/{personId} | Detections for a person. |
GET | /api/v1/people/detections/faceId/{faceId} | Detections for a specific face. |
Authentication
Requires a JWT bearer token. See Authentication.
Minimum Permission
The permission name and category below are what you'll see in the Identities web app under System → System settings → Roles.
| Permission | Category |
|---|---|
| Read Detections | Identities |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
skip | int | 0 | Number of records to skip (paging). |
take | int | 10 | Maximum records to return. |
epochStartMs | int | — | Lower time bound, Unix epoch milliseconds. |
epochEndMs | int | — | Upper time bound, Unix epoch milliseconds. |
dateAscending | bool | true | Sort oldest-first (true) or newest-first (false). |
Code Examples
- Curl
- PowerShell
- C#
API_URL="https://customername.econnectcloud.com/identities"
TOKEN="your_jwt"
# Most recent 10 detections for a person
curl -sk -X GET "$API_URL/api/v1/people/detections/personId/0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d?take=10&dateAscending=false" \
-H "Authorization: Bearer $TOKEN" | jq
# Detections for a specific face
curl -sk -X GET "$API_URL/api/v1/people/detections/faceId/5f9c2b7a-3e41-4d8a-9b6c-1a2b3c4d5e6f?skip=0&take=25" \
-H "Authorization: Bearer $TOKEN" | jq
$API_URL = "https://customername.econnectcloud.com/identities"
$TOKEN = "your_jwt"
$headers = @{ Authorization = "Bearer $TOKEN" }
# Most recent 10 detections for a person
Invoke-RestMethod -Headers $headers -Method Get `
-Uri "$API_URL/api/v1/people/detections/personId/0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d?take=10&dateAscending=false"
# Detections for a specific face
Invoke-RestMethod -Headers $headers -Method Get `
-Uri "$API_URL/api/v1/people/detections/faceId/5f9c2b7a-3e41-4d8a-9b6c-1a2b3c4d5e6f?skip=0&take=25"
using eConnect.IdentitiesDbSdk;
// NuGet: eConnect.IdentitiesDbSdk (private package - request access from eConnect support).
var httpClient = new HttpClient();
var sdk = await IdentityDbSdk.GetSdk(
"https://customername.econnectcloud.com/identities",
httpClient,
"your_username",
"your_password");
// Most recent 10 detections for a person
var byPerson = await sdk.GetDetectionsQueryByPersonIdAsync(
Guid.Parse("0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"),
skip: 0, take: 10, dateAscending: false);
foreach (var d in byPerson)
Console.WriteLine($"{d.DateTimeUtc:u} {d.Detector} confidence={d.Confidence:P1}");
// Detections for a specific face
var byFace = await sdk.GetDetectionsQueryByFaceIdAsync(
"5f9c2b7a-3e41-4d8a-9b6c-1a2b3c4d5e6f",
skip: 0, take: 25);
Response
200 OK — an array of detection items:
[
{
"confidence": 0.972,
"dateTimeUtc": "2026-06-16T18:32:05Z",
"timeZone": "America/Los_Angeles",
"detector": "FrontDoorCam",
"image": "base64_jpeg_or_null"
}
]
Response Fields
| Field | Type | Description |
|---|---|---|
confidence | float | Match confidence for the detection. |
dateTimeUtc | string (ISO-8601 UTC) | When the detection occurred. |
timeZone | string | IANA time zone recorded for the detection. |
detector | string | Name of the detector/source (N/A if unknown). |
image | string (base64) | The detection photo, or null if unavailable. |
Response Codes
| Code | Meaning |
|---|---|
200 OK | Query ran; returns the detections (possibly empty). |
401 Unauthorized | Missing or invalid JWT. |
403 Forbidden | The user lacks the Read Detections permission. |