Skip to main content

Entities

Timeline 360 (projection, not a table)

Merge-sorted view over: core.tracked_events + loyalty.ledger_transactions + messaging.sends(+status) + crm.notes/activities, filtered by permission, paginated by occurred_at cursor. Chain rendering via correlation_id (“event X → rule Y → coupon Z → email W opened 10:31”).

Endpoints

CRUD notes/activities/lists → crm.{resource}.{action} · GET /v1/crm/contacts/{id}/timeline → crm.timeline.read

Non-goals v1

No deals, no pipeline stages, no forecasting. The object model reserves the seat; adding them is F2 scope with zero data migration.