Skip to content

Visitor

A Visitor is someone a Startup cannot name, known by an id scoped to that Startup.

Properties

PropertyTypeRequiredDescription
firstSeenAtdatetimerequiredWhen the first request arrived.

Object

JSON
{
  "$id": "https://api.sb/kilnbakery.com/visitors/visitor_1",
  "$type": "Visitor",
  "firstSeenAt": "2026-10-22T12:00:00Z"
}

Relationships

Verbs

  1. createCreates a Visitor.
    POST /{namespace}/visitorsdoVisitor.created
  2. getReturns one Visitor by id.
    GET /{namespace}/visitors/{id}readNo Event
  3. listReturns Visitors, newest first, one page at a time.
    GET /{namespace}/visitorsreadNo Event
  4. updateChanges the given properties of a Visitor.
    PATCH /{namespace}/visitors/{id}doVisitor.updated
  5. deleteDeletes a Visitor; its history is kept.
    DELETE /{namespace}/visitors/{id}doVisitor.deleted
  6. forgetForget masks a person’s captured data across every Event and Recording and suppresses further capture, keeping the records.
    POST /{namespace}/visitors/{visitor}/forgetdoVisitor.forgotten
  7. identifyIdentify joins a Visitor to the Contact it turns out to be, so earlier Visits count toward that person.
    POST /{namespace}/visitors/{visitor}/identifydoVisitor.identified
  8. mergeMerge joins two Visitor ids that belong to one person and keeps both as aliases.
    POST /{namespace}/visitors/{visitor}/mergedoVisitor.merged

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Visitor.createYesYesYesNo
Visitor.getYesYesYesYes
Visitor.listYesYesYesYes
Visitor.updateYesYesYesNo
Visitor.deleteYesYesYesNo
Visitor.forgetYesNoNoNo
Visitor.identifyYesYesYesNo
Visitor.mergeYesYesYesNo

Call it

Text
Identify the latest visitor with a contact.

Example

Someone reads the pricing Page of a meal-planning App without signing in. The Visitor is known only as v_8f2c, an id no sibling Startup sees.