Behavioral Biometrics (BehavioIQ)

Common objects & errors

All four Behavioral endpoints fail the same way — one envelope, one set of codes, defined once here and referred to by name from each endpoint page.

Error Responses

All endpoints return errors in the following format:

JSON
{
  "errors": [
    {
      "message": "description of the error",
      "code": "error_code"
    }
  ]
}

errors[].code is the semantic server error code. On the SDK-authenticated endpoints, the Behavioral SDKs surface this value directly on the error they raise so client code can branch on it: Android TSSessionError.NetworkError.serverErrorCode, iOS ApiError.serverErrorCode, and Flutter PlatformException.details['serverCode'].

Common Error Codes

HTTP StatusCodeDescription
400invalid_paramMissing or invalid request parameter
400invalid_challenge_idChallenge ID is not a valid UUID
400challenge_not_foundChallenge does not exist
400challenge_access_deniedChallenge does not belong to this client
400invalid_challenge_statusChallenge has already been submitted or is invalid
400customer_user_device_not_foundThe challenge's device record does not exist
400customer_user_device_deactivatedThe challenge's device has been deactivated
400no_batch_eventsNo batch events found for this challenge
400invalid_batch_eventsBatch events failed hash chain or sequence validation
400missing_nonceNonce is missing from request
400invalid_nonceNonce does not match the challenge or is expired
400missing_challenge_idChallenge ID is missing from context
403access_deniedInvalid credentials, signature, or deactivated key
403request_time_too_skewedTimestamp too far from server time
500internal_server_errorInternal server error
503bootstrap_failedFirst-session enrollment failed (scoring engine unavailable / timed out). Retry
503bootstrap_wait_timeoutAnother request is enrolling this user's baseline and did not finish in time. Retry

Compute a behavior score additionally returns engine-defined codes with HTTP 200 and data.status: "failure".