Skip to content

Contacts API

Contacts represent people in your Pathbound CRM. Each contact can be enriched with profile data, linked to events, and targeted by agents.

POST /v1/contacts
FieldTypeRequiredDescription
emailstringyesContact email address (must be unique).
propertiesobjectnoArbitrary key-value properties for the contact.
visitor_idstring | string[]noWebsite visitor ID(s) to associate.
{
"status": "success",
"contact": { /* contact object */ }
}

Returns 409 Conflict if a contact with the same email already exists.


GET /v1/contacts
ParameterTypeDefaultDescription
pagenumber1Page number.
limitnumber20Results per page (1–100).
statusstringFilter: enriched or not_enriched.
searchstringFree-text search across contact fields.
sort_bystringField to sort by.
sort_dirstringSort direction (asc or desc).
{
"status": "success",
"contacts": [ /* contact objects */ ],
"pagination": {
"page": 1,
"limit": 20,
"total_pages": 5,
"total_items": 100
}
}

GET /v1/contacts/:contact_id

Returns the contact along with its unified profile, recent actions, and events.

{
"status": "success",
"contact": { /* contact object */ },
"unified_profile": { /* profile data */ },
"actions": [ /* recent actions */ ],
"events": [ /* recent events */ ]
}

PUT /v1/contacts/:contact_id
FieldTypeRequiredDescription
propertiesobjectnoProperties to update or add.
visitor_idstring | string[]noVisitor ID(s) to associate.

DELETE /v1/contacts/:contact_id

Permanently removes the contact.


GET /v1/contacts/events/:contact_id

Returns all events associated with a contact.

ParameterTypeDefaultDescription
event_typestringFilter by event type.
sort_dirstringdescSort direction (asc or desc).
{
"status": "success",
"events": [ /* event objects */ ]
}