Skip to content

Contact routes: enrich, enroll, merge

The Contact Verbs enrich, enroll, merge as api.sb routes, with inputs, result, refusals and an example.

Reference for Contact, one group of Contact routes.

Contact.enrich

Enrich fills a Contact’s missing fields from outside sources and marks each value with where it came from. Verb page.

Text
POST /{namespace}/contacts/{contact}/enrich

Path: contact. Emits Contact.enriched.

Inputs

InputTypeRequiredDescription
contactContactrequiredThe Contact to enrich.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe enriched 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/contacts/contact_WsrosCQi6J/enrich \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
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"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Contact.enrich",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Contact.enroll

Enroll adds a Contact to a Sequence, which sends its steps until the Contact replies or exits. Verb page.

Text
POST /{namespace}/contacts/{contact}/enroll

Path: contact. Body, as JSON: the other inputs. Emits Contact.enrolled.

Inputs

InputTypeRequiredDescription
contactContactrequiredThe Contact to enroll.
sequenceSequencerequiredThe Sequence to run.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe enrolled Contact.
enrollmentEnrollmentrequiredThe Enrollment that records this Contact’s run through the Sequence.

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.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.
A suppressed Contact or one with no consent for the Sequence’s purposerefusedClear what the check names, then call it again.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/contacts/contact_WsrosCQi6J/enroll \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sequence":"sequence_H7knHGrBdP"}'
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"
  },
  "enrollment": {
    "$id": "https://api.sb/leaseline.app/enrollments/enrollment_t2LKaLorKn",
    "$type": "Enrollment",
    "status": "active",
    "step": "Example step"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Contact.enroll",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Contact.merge

Merge joins a duplicate Contact into another, keeping every link, Message and Event on the one that remains. Verb page.

Text
POST /{namespace}/contacts/{contact}/merge

Path: contact. Body, as JSON: the other inputs. Emits Contact.merged.

Inputs

InputTypeRequiredDescription
contactContactrequiredThe duplicate.
intoContactrequiredThe Contact that remains.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe remaining 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/contacts/contact_WsrosCQi6J/merge \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"into":"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"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Contact.merge",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}