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.
POST /{namespace}/ contacts/ {contact}/ enrichPath: contact. Emits Contact.enriched.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | The Contact to enrich. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | The enriched Contact. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ contacts/ contact_WsrosCQi6J/ enrich \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"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.
POST /{namespace}/ contacts/ {contact}/ enrollPath: contact. Body, as JSON: the other inputs. Emits Contact.enrolled.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | The Contact to enroll. |
sequence | Sequence | required | The Sequence to run. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | The enrolled Contact. |
enrollment | Enrollment | required | The Enrollment that records this Contact’s run through the Sequence. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use 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. | refused | Read 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 purpose | refused | Clear what the check names, then call it again. | None. |
Example
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"}'{
"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.
POST /{namespace}/ contacts/ {contact}/ mergePath: contact. Body, as JSON: the other inputs. Emits Contact.merged.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | The duplicate. |
into | Contact | required | The Contact that remains. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
contact | Contact | required | The remaining Contact. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
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"}'{
"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"
}
}