Behavioral Biometrics (BehavioIQ)

Push an event batch

POST/v1/behavior/push_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

MethodPOST
Path/v1/behavior/push_event_batch
Content-Typeapplication/json
Auth requiredYes — Customer User Device

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.

NameTypeRequiredDescription
noncestringRequiredThe nonce received from create_challenge
batch_hashstringRequiredHash of the current batch data
prev_batch_hashstringOptionalHash of the previous batch (empty for the first batch)
seqintOptionalSequence number, starting from 0 for the first batch
dataobjectRequiredJSON object containing the batch event data

Sample request

The plaintext before encryption:

JSON
{
  "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.

JSON
{
  "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.