Behavioral Biometrics (BehavioIQ)
Push an event batch
Submits a batch of behavioral event data collected by the SDK; batches for one challenge form a hash chain the server verifies.
Request
Multiple batches can be pushed per challenge, forming a hash chain for integrity verification. Request and response are both encrypted — see End-to-End Encryption; the fields below are the plaintext body.
Beyond the device authentication headers, this call requires X-Challenge-ID — the challenge id prefixed with TV , e.g. TV <challenge_id>. See Customer User Device Authentication.
| Name | Type | Required | Description |
|---|---|---|---|
nonce | string | Required | The nonce received from create_challenge |
batch_hash | string | Required | Hash of the current batch data |
prev_batch_hash | string | Optional | Hash of the previous batch (empty for the first batch) |
seq | int | Optional | Sequence number, starting from 0 for the first batch |
data | object | Required | JSON object containing the batch event data |
Sample request
The plaintext before encryption:
{
"nonce": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2",
"batch_hash": "e3b0c44298fc1c149afbf4c8996fb924",
"prev_batch_hash": "",
"seq": 0,
"data": {
"events": [
{
"type": "touch",
"timestamp": 1705312200000,
"x": 150.5,
"y": 320.0
}
]
}
}
Response
The response carries only data.status.
{
"data": {
"status": "success"
}
}
Failure codes
Errors arrive in the envelope described under Error Responses, and the codes every Behavioral call can return are listed under Common Error Codes.