Skip to content

Transactions

Every API call that does biometric work is recorded as a transaction: what was asked, which services ran, what they scored, what the decision was, plus the device, geo and consent context. The Console dashboard is a view over these records — and the same data is available to your backend through the transactions API.

Base URL: https://api.biometrysolutions.com/api-transactions.

Authorization

All endpoints on this page take your project API token as Bearer. Results are scoped to the token’s project.

Get transactions by session

The quickest way to collect everything that happened in one verification attempt.

GET https://api.biometrysolutions.com/api-transactions/transactions/sessions/{id}
curl 'https://api.biometrysolutions.com/api-transactions/transactions/sessions/0f9c2a1e-6b3c-4f2a-9a0d-6d6f6a1f2b7e' \
--header 'Authorization: Bearer YOUR_API_TOKEN'

Returns {"data": [ … ]} with one transaction object per call made in that session, or 404 when the session has none.

Search transactions

POST https://api.biometrysolutions.com/api-transactions/transactions/list

Body (application/json)

All filter fields are optional except project_id; results are scoped to your own project regardless of what you send.

FieldTypeDescription
project_idstringYour project ID.
session_idstringOnly transactions in this session.
actionsarrayAction names, e.g. process_video, enroll_face, face_match, upload_image.
used_servicesarrayService names as stored, e.g. Face Liveness Detection.
used_tagsarrayTags applied via Results tagging.
wanted_flagstringfraudulent, possibly_fraudulent or ok.
decisionstringDecision recorded for the transaction, e.g. pass, fail, refer, enrolled.
user_fullnamestringThe identity key — on v2 calls this is the user_id you sent.
status_codenumberHTTP status the call returned.
ip, location, devicestringRequest context filters.
from_date, to_datestringDate range; common formats are accepted (e.g. 2026-07-01, RFC 3339).
page, page_sizenumberPagination. page_size is clamped to 10100.
sort_by, sort_orderstringField to sort on and asc / desc.

Example

curl --request POST 'https://api.biometrysolutions.com/api-transactions/transactions/list' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"project_id": "b1d0…",
"actions": ["process_video"],
"from_date": "2026-07-01",
"page": 1,
"page_size": 50
}'

Responses

{
"data": [
{
"id": "29dc0438-…-f82af1c42843",
"session_id": "0f9c2a1e-…",
"project_id": "b1d0…",
"api_key_id": "7a3f…",
"action": "process_video",
"status_code": 200,
"is_success": true,
"used_services": ["Face Liveness Detection", "Active Speaker Detection"],
"skipped_services": [],
"decision": "pass",
"computed_score": 88.02,
"flag": "ok",
"tags": ["onboarding"],
"recieved_at": "2026-07-14T09:12:30Z",
"answered_at": "2026-07-14T09:12:36Z",
"duration": 6123,
"device": { "device_type": "mobile", "device_os": "iOS" },
"geo": { },
"consent": { },
"input_metadata": { },
"output_metadata": { }
}
]
}

Count transactions

Same filter body, returns the number of matching transactions instead of the records — use it for usage dashboards and pagination totals.

POST https://api.biometrysolutions.com/api-transactions/transactions/count
curl --request POST 'https://api.biometrysolutions.com/api-transactions/transactions/count' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"project_id": "b1d0…", "from_date": "2026-07-01"}'

Flag a transaction

Mark a transaction as fraudulent after the fact — for example when a chargeback or a manual review says so. Flags feed the fraud views in the Console.

PUT https://api.biometrysolutions.com/api-transactions/transactions/{id}/flag?flag=fraudulent

Query parameters

  • flag* (string) — fraudulent, possibly_fraudulent or ok.
curl --request PUT 'https://api.biometrysolutions.com/api-transactions/transactions/29dc0438-…/flag?flag=fraudulent' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
TaskPage
Download the media a transaction processedGet samples
Attach your own tags to a transactionResults tagging
Understand flags and the fraud pipelineFraud Detection