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 this endpoint. The encrypted auditBlob is never included in API responses — it can only be decrypted by regulatory authorities.

GET/api/v1/transactions

List transactions for your tenant, sorted by createdAt descending. Supports filtering and pagination.

Headers

AuthorizationstringRequired

Bearer <access_token> — requires transactions:read scope

Query Parameters

deviceIdstringOptional

Filter by the device the transaction is attributed to

verifiedBystringOptional

Filter by employee ID (manual verifications)

verifyTypestringOptional

Filter by verification method: "pass" | "eID" | "manual"

locationIdstringOptional

Filter by location

resultstringOptional

Filter by result: "pass" | "fail"

posReferencestringOptional

Filter by the posReference supplied at verification time

fromDatestringOptional

ISO 8601 date — return transactions on or after this date

toDatestringOptional

ISO 8601 date — return transactions on or before this date

limitnumberOptional

Page size. When provided, the response includes nextCursor and hasMore

cursorstringOptional

Pagination cursor from a previous response

Response

{
  "data": [
    {
      "id": "j57b2mNkR4e9...",
      "deviceId": "dev_abc123",
      "challengeType": "age",
      "challengeData": { "requiredAge": 18 },
      "verifiedBy": null,
      "verifyType": "pass",
      "ephemeralId": "eph_001",
      "result": "pass",
      "posReference": "till-4-receipt-1234",
      "locationId": "loc_xyz",
      "createdAt": "2024-01-15T10:00:00.000Z"
    }
  ]
}

Transaction Fields

FieldTypeDescription
idstringUnique transaction identifier
deviceIdstring | nullDevice the transaction is attributed to; null if none
challengeTypestringType of challenge: "age"
challengeDataobjectChallenge parameters (e.g. { "requiredAge": 18 })
verifiedBystring | nullEmployee ID for manual verifications; null otherwise
verifyTypestringVerification method used: "pass" | "eID" | "manual"
ephemeralIdstringEphemeral identifier for the customer (pass verifications)
resultstring"pass" | "fail"
failReasonstring | nullReason for a failed verification, when available
posReferencestringYour own reference supplied at verification time (receipt/basket ID)
locationIdstringLocation where the transaction occurred
createdAtstringISO 8601 timestamp