End-users

End-users are your users — the humans whose conversations you submit. Viora identifies them by the opaque external_id you supply.

We track a long-term LBRS (long-baseline risk score) per end-user — an EWMA over their recent session SRSs with a 30-day half-life. This is what surfaces patterns no single session catches: someone who hits R1-mid every Sunday for two months is not the same as someone with one bad week.

Get

GET /api/v1/end-users/{external_id}
Authorization: Bearer vrk_...

Response:

{
  "external_id": "user_42",
  "first_seen_at": "...",
  "last_seen_at": "...",
  "lbrs": {
    "lbrs": 0.58,
    "lbrs_r_level": "R1-mid",
    "consecutive_r1_plus_sessions": 4,
    "last_session_at": "..."
  },
  "lbrs_r_level": "R1-mid",
  "recent_sessions": [
    { "id": 901, "external_id": "...", "title": "...", "r_level": "R1-high", "last_message_at": "..." },
    ...
  ]
}

404 if the end-user has no sessions under your tenant yet.

Identity & metadata

We accept whatever external_id you send. We don't collect demographics, locale, age, or anything else — if you want analytics by user segment, do that in your own system using your own IDs.