Publish (Fire-and-Forget)
publish submits a detected face image to the facial-recognition engine without waiting for or returning detection
results. It is the fire-and-forget counterpart to
publishWithResponse — use it for high-throughput feeds
where you don't need the result back.
API Endpoint
- HTTP Method:
POST - Endpoint:
/api/v1/faceEdge/publish - Base URL (Cloud):
https://customername.econnectcloud.com/identities - Base URL (On-prem):
https://<server-host-or-ip>:5009
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 |
|---|---|
| Face Publishing | Facial Recognition Services |
Request Body
Content-Type: application/json. Same shape as publishWithResponse without the largestFaceOnly /
allowDoubleDetection options.
Required Fields
| Field | Type | Description |
|---|---|---|
expanded | byte[] (base64) | The detected face image bytes. |
detectorName | string | Identifier of the detector/source. |
ianaTimeZone | string | IANA time zone of the detection. |
detectTimeUtc | string (ISO-8601 UTC) | UTC timestamp of the detection. |
Code Examples
- Curl
- PowerShell
- C#
API_URL="https://customername.econnectcloud.com/identities"
TOKEN="your_jwt"
FACE_FILE="face.jpg"
EXPANDED_B64=$(base64 -w 0 "$FACE_FILE")
REQUEST=$(cat <<EOF
{
"expanded": "$EXPANDED_B64",
"detectorName": "FrontDoorCam",
"ianaTimeZone": "America/Los_Angeles",
"detectTimeUtc": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
}
EOF
)
# Returns 200 OK with an empty body on success.
curl -sk -X POST "$API_URL/api/v1/faceEdge/publish" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "$REQUEST"
$API_URL = "https://customername.econnectcloud.com/identities"
$TOKEN = "your_jwt"
$FACE_FILE = "face.jpg"
$expandedB64 = [Convert]::ToBase64String([System.IO.File]::ReadAllBytes($FACE_FILE))
$body = @{
expanded = $expandedB64
detectorName = "FrontDoorCam"
ianaTimeZone = "America/Los_Angeles"
detectTimeUtc = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
} | ConvertTo-Json
# Returns 200 OK with an empty body on success.
Invoke-RestMethod -Uri "$API_URL/api/v1/faceEdge/publish" `
-Method Post `
-Headers @{ Authorization = "Bearer $TOKEN" } `
-Body $body -ContentType "application/json"
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");
byte[] faceBytes = await File.ReadAllBytesAsync("face.jpg");
// Fire-and-forget: the call returns once the image is accepted for processing.
// It does NOT return detection results (use publishWithResponse for that).
await sdk.FaceEdgePublishAsync(new FaceEdgeRecognize
{
Expanded = faceBytes, // required
DetectorName = "FrontDoorCam", // required
IanaTimeZone = "America/Los_Angeles", // required
DetectTimeUtc = DateTime.UtcNow // required
});
Response Codes
| Code | Meaning |
|---|---|
200 OK | Image accepted for processing (empty body). |
400 Bad Request | Invalid request — for example, expanded is missing. |
401 Unauthorized | Missing or invalid JWT. |
403 Forbidden | The user lacks the Face Publishing permission. |
500 Internal Server Error | A server-side error occurred. |
Use publishWithResponse to get the detected faces back in
the same call.
Advanced
eConnect edge-model fields (leave unset)
The following request fields are highly proprietary and intended for eConnect's own edge models only. Partner integrations should not set them.
| Field | Type | Description |
|---|---|---|
croppedAligned | byte[] (base64) | eConnect models only. Do not set. |
embeddings | float[] | eConnect models only. Do not set. |
recognitionModel | string | eConnect models only. Do not set. |