Skip to Content
These docs are actively being updated. Check back regularly for new guides and API references.
API ReferenceEvent Ingestion

Event Ingestion

The event ingestion API is the primary way to get data into Waypath. All events are normalized, identity-resolved, and written to both the CRM store and graph.

Track a touchpoint

POST /api/v1/events/track X-API-Key: dsk_your_key Content-Type: application/json { "action": "email_opened", "customerId": "cust_123", "campaignId": "camp_456", "channel": "email", "properties": { "subject": "Spring Sale", "timestamp": "2026-03-15T10:30:00Z" } }

This creates:

  • A Touchpoint node with HAS_TOUCHPOINT edge to the Customer
  • An INFLUENCED_BY edge to the Campaign (if campaignId provided)
  • A Channel node with VIA_CHANNEL edge

Identify a customer

POST /api/v1/events/identify X-API-Key: dsk_your_key Content-Type: application/json { "email": "sarah@example.com", "name": "Sarah Chen", "phone": "+1-555-0123", "externalId": "hubspot_12345", "properties": { "company": "Acme Corp", "title": "VP Marketing" } }

Identity resolution runs automatically, matching by:

  • Email (confidence: 1.0)
  • Phone (confidence: 0.9)
  • External ID (confidence: 0.8)

If no match is found, a new Customer node is created.

Batch ingestion

POST /api/v1/events X-API-Key: dsk_your_key Content-Type: application/json { "events": [ { "type": "track", "action": "page_view", "customerId": "cust_1", ... }, { "type": "identify", "email": "user@example.com", ... }, { "type": "track", "action": "purchase", "customerId": "cust_2", ... } ] }

Events are processed sequentially. Identity resolution runs on each event.

Pipeline flow

Event received -> Identity Resolution (match or create Customer) -> Write CRM record (Pipeline) -> Build graph nodes + edges (Intelligence) -> WebSocket broadcast (real-time UI update)