Appearance
Leads Service
Leads management is handled inside apps/app — there is no separate leads microservice. Routes live at apps/app/src/v1/leads/ and delegate to @ce-sdr/lib.
Concepts
| Term | Meaning |
|---|---|
Lead Group (Leads model) | A named container/list of contacts (e.g., "Q1 Buyers SF") |
| Contact | An individual prospect record within a lead group |
| Enrichment | Augmenting contact data with additional info from the enrichment service |
Lead Import & Enrichment Flow
See Handshake for full webhook payload specs.
Deduplication
When contacts are imported or campaigns are published, the system deduplicates on:
- Email (normalized: lowercase + trimmed)
- Phone (normalized: non-digit characters removed)
Banned leads (global suppression list) are filtered out before any campaign jobs are created.
API Endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/leads/ | Create a lead group |
GET | /v1/leads/ | List lead groups for brand |
GET | /v1/leads/:id | Get lead group with contacts |
POST | /v1/leads/:id/import | Import contacts from CSV |
POST | /v1/leads/:id/contacts | Add individual contact |
PATCH | /v1/leads/:id/contacts/:contactId | Update contact |
DELETE | /v1/leads/:id/contacts/:contactId | Remove contact |
Full interactive reference: API Documentation