Skip to content

Visitor routes: forget, identify, merge

The Visitor Verbs forget, identify, merge as api.sb routes, with inputs, result, refusals and an example.

Reference for Visitor, one group of Visitor routes.

Visitor.forget

Forget masks a person’s captured data across every Event and Recording and suppresses further capture, keeping the records. Verb page.

Text
POST /{namespace}/visitors/{visitor}/forget

Path: visitor. Body, as JSON: the other inputs. Emits Visitor.forgotten.

Inputs

InputTypeRequiredDescription
visitorVisitorrequiredThe Visitor to forget.
requesttextrequiredThe privacy request it answers.

Returns

OutputTypeRequiredDescription
visitorVisitorrequiredThe Visitor, masked.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/visitors/visitor_M5gHadysq9/forget \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"request":"Example request"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "visitor": {
    "$id": "https://api.sb/leaseline.app/visitors/visitor_M5gHadysq9",
    "$type": "Visitor",
    "firstSeenAt": "2026-10-22T12:00:00Z"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Visitor.forget",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Visitor.identify

Identify joins a Visitor to the Contact it turns out to be, so earlier Visits count toward that person. Verb page.

Text
POST /{namespace}/visitors/{visitor}/identify

Path: visitor. Body, as JSON: the other inputs. Emits Visitor.identified.

Inputs

InputTypeRequiredDescription
visitorVisitorrequiredThe Visitor.
contactContactrequiredThe Contact or Customer the Visitor is.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe Contact, with the Visitor’s Visits attached.
visitorVisitorrequiredThe Visitor, now joined to its Contact.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/visitors/visitor_M5gHadysq9/identify \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contact":"contact_WsrosCQi6J"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "contact": {
    "$id": "https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J",
    "$type": "Contact",
    "email": "marcus@riversideproperty.com",
    "phone": "Example phone"
  },
  "visitor": {
    "$id": "https://api.sb/leaseline.app/visitors/visitor_M5gHadysq9",
    "$type": "Visitor",
    "firstSeenAt": "2026-10-22T12:00:00Z"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Visitor.identify",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Visitor.merge

Merge joins two Visitor ids that belong to one person and keeps both as aliases. Verb page.

Text
POST /{namespace}/visitors/{visitor}/merge

Path: visitor. Body, as JSON: the other inputs. Emits Visitor.merged.

Inputs

InputTypeRequiredDescription
visitorVisitorrequiredThe Visitor to merge.
intoVisitorrequiredThe Visitor that remains.

Returns

OutputTypeRequiredDescription
visitorVisitorrequiredThe remaining Visitor.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/visitors/visitor_M5gHadysq9/merge \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"into":"visitor_M5gHadysq9"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "visitor": {
    "$id": "https://api.sb/leaseline.app/visitors/visitor_M5gHadysq9",
    "$type": "Visitor",
    "firstSeenAt": "2026-10-22T12:00:00Z"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Visitor.merge",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}