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/listBody (application/json)
All filter fields are optional except project_id; results are scoped to your
own project regardless of what you send.
| Field | Type | Description |
|---|---|---|
project_id | string | Your project ID. |
session_id | string | Only transactions in this session. |
actions | array | Action names, e.g. process_video, enroll_face, face_match, upload_image. |
used_services | array | Service names as stored, e.g. Face Liveness Detection. |
used_tags | array | Tags applied via Results tagging. |
wanted_flag | string | fraudulent, possibly_fraudulent or ok. |
decision | string | Decision recorded for the transaction, e.g. pass, fail, refer, enrolled. |
user_fullname | string | The identity key — on v2 calls this is the user_id you sent. |
status_code | number | HTTP status the call returned. |
ip, location, device | string | Request context filters. |
from_date, to_date | string | Date range; common formats are accepted (e.g. 2026-07-01, RFC 3339). |
page, page_size | number | Pagination. page_size is clamped to 10–100. |
sort_by, sort_order | string | Field 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": { } } ]}Unparseable filter — most often a malformed from_date / to_date.
{ "error": "failed to parse from date" }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/countcurl --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=fraudulentQuery parameters
- flag* (string) —
fraudulent,possibly_fraudulentorok.
curl --request PUT 'https://api.biometrysolutions.com/api-transactions/transactions/29dc0438-…/flag?flag=fraudulent' \ --header 'Authorization: Bearer YOUR_API_TOKEN'Related
| Task | Page |
|---|---|
| Download the media a transaction processed | Get samples |
| Attach your own tags to a transaction | Results tagging |
| Understand flags and the fraud pipeline | Fraud Detection |