Lead Status
| Status | Description |
|---|---|
PENDING | Lead not yet contacted — eligible for sending |
QUEUED | Email task created, waiting to be sent |
SENT | Initial email successfully sent |
OPENED | Email was opened (tracking enabled) |
REPLIED | Lead replied to email |
FAILED | Email send failed |
BOUNCED | Email bounced after sending |
UNSUBSCRIBED | Lead unsubscribed |
EXTERNAL | External/unsolicited incoming lead |
Lead Upload via CSV
POST/api/public/v1/campaigns/{campaign_id}/leads
Upload leads asynchronously via CSV file. The file must include an email column.
CSV Requirements
- Must include an email column (required)
- Additional supported columns:
first_name,last_name,company - Custom columns are mapped automatically and available as
{{custom_column_name}}in your email templates - Max CSV size: 50MB
- Max leads per upload: 10,000
Upload Progress
The upload runs asynchronously. Check progress with:Manual Lead Addition
POST/api/public/v1/campaigns/{campaign_id}/leads/manual
Add a single lead:
Listing Leads
GET/api/public/v1/campaigns/{campaign_id}/leads
List leads with pagination and filtering:
Query Parameters
| Parameter | Description |
|---|---|
page | Page number (1-based, default: 1) |
limit | Items per page (1-100, default: 20) |
status | Filter by status: PENDING, SENT, OPENED, REPLIED, BOUNCED, etc. |
search | Search by email or name |
Deleting Leads
DELETE/api/public/v1/campaigns/{campaign_id}/leads
Only PENDING leads (not yet sent) can be deleted:
Next Steps
Create Campaign
Set up your campaign with lead mapping configuration.
Personalization
Use lead data in personalized email content.

