Transactions
Query verification transactions recorded by your tenant's devices. All transactions are read-only — they are created automatically by the verification endpoints.
Note: Transaction records are immutable. No party can create or modify transactions through the API.
GET
/api/tenant/transactionsList transactions for your tenant, sorted by createdAt descending. Supports filtering and pagination.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer <access_token> — requires transactions:read scope |
AuthorizationstringRequiredBearer <access_token> — requires transactions:read scope
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | Optional | Maximum number of transactions to return |
| deviceId | string | Optional | Filter by device ID |
| result | string | Optional | Filter by result: "pass" | "fail" |
| startDate | string | Optional | ISO 8601 date — return transactions on or after this date |
| endDate | string | Optional | ISO 8601 date — return transactions on or before this date |
limitnumberOptionalMaximum number of transactions to return
deviceIdstringOptionalFilter by device ID
resultstringOptionalFilter by result: "pass" | "fail"
startDatestringOptionalISO 8601 date — return transactions on or after this date
endDatestringOptionalISO 8601 date — return transactions on or before this date
Response
{
"data": [
{
"id": "j57b2mNkR4e9...",
"deviceId": "dev_abc123",
"challengeType": "age",
"challengeData": { "requiredAge": 18 },
"verifiedBy": null,
"verifyType": "pass",
"ephemeralId": "eph_001",
"result": "pass",
"locationId": "loc_xyz",
"createdAt": "2024-01-15T10:00:00.000Z"
}
]
}GET
/api/tenant/transactions/:idRetrieve a single transaction by ID.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer <access_token> — requires transactions:read scope |
AuthorizationstringRequiredBearer <access_token> — requires transactions:read scope
Response
{
"data": {
"id": "j57b2mNkR4e9...",
"deviceId": "dev_abc123",
"challengeType": "age",
"challengeData": { "requiredAge": 18 },
"verifiedBy": null,
"verifyType": "pass",
"ephemeralId": "eph_001",
"result": "pass",
"locationId": "loc_xyz",
"createdAt": "2024-01-15T10:00:00.000Z"
}
}Transaction Fields
| Field | Type | Description |
|---|---|---|
| id | string | Unique transaction identifier |
| deviceId | string | Device that recorded the transaction |
| challengeType | string | Type of challenge: "age" |
| challengeData | object | Challenge parameters (e.g. { "requiredAge": 18 }) |
| verifiedBy | string | null | Employee ID for manual verifications; null otherwise |
| verifyType | string | Verification method used: "pass" | "eid" | "manual" |
| ephemeralId | string | Ephemeral identifier for the customer |
| result | string | "pass" | "fail" |
| auditBlob | string | Encrypted audit record (ML-KEM-768) |
| locationId | string | Location where the transaction occurred |
| createdAt | string | ISO 8601 timestamp |