Skip to content

Visitor detail with recent activity window

projectId
required
string
visitorId
required
string
days
integer
default: 90 >= 1 <= 365

Lookback window in days.

Visitor detail (dynamic shape). Some keys are dynamic — Route returns the repository record unchanged (c.json(payload)); return type is the declared DashboardVisitorDetailRecord. timeline is a heterogeneous array discriminated by type: “event” | “visit” | “conversion”, sorted ascending by ts (string compare of the ISO timestamps). Event timeline items have a SYNTHETIC id: ${occurredAt}:${eventName}:${visitorId}. data.properties on event items is arbitrary user-supplied JSON (parsed from propertiesJson) -> genuinely dynamic, kept permissive; null when absent/invalid JSON. firstVisit is derived from the first visit row, else the first event row, else null; browser/os fields come from best-effort user-agent parsing and are null when no UA present. firstVisit.deviceType falls back to “UNKNOWN” on the event-derived branch. stats.conversionCount counts only status === “SUCCESS” (differs from list endpoint semantics). NOTE: firstVisit.ip returns the raw stored IP address unmasked (PII, not a credential).

Media typeapplication/json
object
visitorId
required
string
userId
required
string
nullable
firstSeenAt
required

ISO-8601 UTC timestamp.

string
nullable
identifiedAt
required

ISO-8601 UTC timestamp.

string
nullable
firstVisit
required
object
ip
required
string
nullable
userAgent
required
string
nullable
deviceType
required

DESKTOP | MOBILE | TABLET | UNKNOWN (stored value; not re-validated here).

string
referrer
required
string
nullable
utmSource
required
string
nullable
country
required
string
nullable
browser
required
string
nullable
browserVersion
required
string
nullable
os
required
string
nullable
osVersion
required
string
nullable
createdAt
required

ISO-8601 UTC timestamp.

string
stats
required
object
eventCount
required
integer
visitCount
required
integer
conversionCount
required

Count of SUCCESS conversions only.

integer
timeline
required
Array
One of:
TimelineEvent
object
type
required
string
Allowed values: event
ts
required

ISO-8601 UTC timestamp (occurredAt).

string
data
required
object
id
required

Synthetic composite id “::”.

string
eventName
required
string
properties
required

Arbitrary caller-supplied event properties (dynamic; parsed JSON object).

object
key
additional properties
any
utmSource
required
string
nullable
utmMedium
required
string
nullable
utmCampaign
required
string
nullable
serverTimestamp
required

ISO-8601 UTC timestamp.

string
shortLink
required
object
id
required
string
name
required
string
nullable
shortCode
required
string
adPlatformConfig
required
object
id
required
string
name
required
string
platform
required
string