Customers API
Retrieve customer data and interaction timelines.
01List customers
GET /v1/customers
Authorization: Bearer <token>
Returns the top 100 customers sorted by lastSeen (most recent first).
02Get a customer
GET /v1/customers/:id
Authorization: Bearer <token>
Returns the customer profile along with their touchpoints.
03Customer timeline
GET /v1/customers/:id/timeline
Authorization: Bearer <token>
Returns all touchpoints for this customer ordered chronologically (ascending). Each touchpoint includes the action, channel, campaign attribution, and timestamp.
04Dedupe duplicates
POST /v1/customers/dedupe
Authorization: Bearer <token>
Content-Type: application/json
Merges duplicate Customer nodes by email. Supports a ?dry_run=true
query param that returns the merge plan without applying it.
The resolver picks the canonical record for each duplicate group by
(1) presence of cio_id, (2) edge count, (3) lexicographic id as the
tiebreaker. All edges from dupes re-point to the canonical, then the
dupes are deleted. Idempotent. Running it again on a clean workspace
is a no-op.
Use this once after the Supabase 1000-row-cap pagination fix if you ran syncs on a pre-fix workspace and see suspiciously high Customer counts.
05Related endpoints
| Endpoint | Description |
|---|---|
GET /v1/segments | List all customer segments |
GET /v1/campaigns | List all campaigns |
GET /v1/opportunities | Top 50 opportunities by score |
GET /v1/journeys | List customer journeys |
GET /v1/cohorts | List algorithm-discovered cohorts |
GET /v1/products | List products |