Recognise a person
POST /functions/v1/face-identify
Ask whether this face already exists before a flow branches, and authorise an act against a live capture with the sink that writes the capture a mandate accepts.
Browser-safe (pk_). Purpose: answer “does this face already exist here” before a flow branches into signup or sign-in. Requires x-sidaxis-timestamp and x-sidaxis-nonce.
Body
| Field | Type | Notes |
|---|---|---|
face_template | object, required | { vector: exactly 128 numbers, quality } |
capture_nonce | string, required | 8–128 characters |
{ "matched": true, "subject_ref": "sr_2f91c8de44", "confidence": 0.88 }
{ "matched": false, "confidence": 0.41 }The match gate is 0.75. subject_ref is a per-merchant pseudonym. Errors: 400 INVALID_REQUEST, 401 API_KEY_REQUIRED / INVALID_API_KEY, 429 RATE_LIMITED, 503 TEMPLATE_STORE_UNAVAILABLE.
The authorisation sink
POST /functions/v1/process-biovital-transactionServer key, or a first-party Sieve ID JWT. action is one of ACTION_LOGIN, ACTION_PAYMENT, ACTION_SIGN, ACTION_SIGNUP. It requires both sieve_hash and user_id, and amount is an integer in the minor unit.
The row it writes is the capture_id that mandate-issue accepts as proof, valid five minutes.
mandate_id is optional
Absent, the call behaves exactly as it always has. Present, the mandate stands in for the live capture and the response gains a mandate block with scope_used, granted_to, agent_display_name, agent_descriptor, assurance_level, idempotent_replay, remaining and at_limit.
curl -X POST https://api.sidaxis.com/functions/v1/process-biovital-transaction \
-H "x-sidaxis-api-key: sk_live_..." \
-H "x-sidaxis-timestamp: 1789564803" \
-H "x-sidaxis-nonce: 9f2c41ab7d" \
-H "Idempotency-Key: checkout-5512" \
-H "content-type: application/json" \
-d '{
"action": "ACTION_PAYMENT",
"merchant_id": "mrc_9f2c",
"sieve_hash": "b41d...",
"user_id": "0f9c2a51-7c33-4a1e-9b02-16c2b7f0d5aa",
"amount": 4000,
"currency": "USD",
"face_template": { "vector": ["... 128 numbers"], "quality": 0.94 },
"biometric_vitals": { "bpm": 71, "voice_pulse_correlation": 0.88, "liveness_confidence": 0.96 }
}'payment and signature can answer 403 DOCUMENT_REQUIRED — see the document rule. A replay with the same Idempotency-Key returns the original body with the header Idempotency-Status: replayed.