Create a new event to track interactions and activities. Events are the core of contact engagement tracking.
Person Matching: You can associate events with people in three ways:
- Use existing person ID: Provide
personIdto attach to an existing contact - Match existing person: Provide
personobject with email/phone - system will find matching contact - Create new person: Provide
personobject with details - system will create new contact if no match found
Company Association (Optional): You can also associate a company with the event and person:
- Use existing company ID: Provide
company.idto link to an existing company - Match by name: Provide
company.name- system will find matching company (case-insensitive) - Create new company: If no match found, a new company is created
- Auto-link person: The person is automatically associated with the company
Response Status Codes:
201 Created: A new person OR company was created200 OK: Both person and company already existed (matched existing records)
Common Event Patterns:
Page View Event:
{
"type": "page_view",
"personId": "uuid-here",
"pageUrl": "https://example.com/properties/123",
"pageTitle": "Beautiful 3BR Home",
"pageDuration": 45,
"pageReferrer": "https://google.com"
}
Property View Event:
{
"type": "property_view",
"person": { "emails": [{"value": "[email protected]"}] },
"property": {
"id": "prop-123",
"address": "123 Main St, Portland, OR 97201",
"price": 500000,
"beds": 3,
"baths": 2,
"sqft": 1800
}
}
Property Search Event:
{
"type": "search",
"personId": "uuid-here",
"propertySearch": {
"minPrice": 300000,
"maxPrice": 500000,
"beds": 3,
"location": "Portland, OR",
"propertyType": "house"
}
}
Form Submission Event (Object Format):
{
"type": "form_submission",
"person": {
"firstName": "John",
"lastName": "Doe",
"emails": [{"value": "[email protected]", "isPrimary": true}],
"phones": [{"value": "+1-555-1234", "isPrimary": true}]
},
"message": "Contact form submitted",
"metadata": {
"formName": "Contact Us",
"interests": ["buying", "3-bedroom"]
}
}
Form Submission Event (Simple String Array Format):
{
"type": "form_submission",
"person": {
"firstName": "John",
"lastName": "Doe",
"emails": ["[email protected]", "[email protected]"],
"phones": ["+1-555-1234", "+1-555-5678"]
},
"message": "Contact form submitted",
"metadata": {
"formName": "Contact Us",
"interests": ["buying", "3-bedroom"]
}
}
Note: When using the string array format, the first email and first phone are automatically marked as primary.
Event with Company (B2B Lead):
{
"type": "form_submission",
"person": {
"firstName": "Jane",
"lastName": "Smith",
"emails": [{"value": "[email protected]", "isPrimary": true}]
},
"company": {
"name": "Acme Corporation",
"website": "https://acmecorp.com",
"industry": "Technology",
"companySize": "51-200"
},
"message": "Demo request submitted"
}
Response with Company: Returns the created event, person, company, and flags indicating what was created:
{
"event": { "id": "...", "eventType": "form_submission", ... },
"person": { "id": "...", "firstName": "Jane", ... },
"company": { "id": "...", "name": "Acme Corporation", ... },
"wasPersonCreated": true,
"wasCompanyCreated": true
}
Response (without company): Returns the created event, associated person, and a flag indicating whether a new person was created.
