Lead Lists
List Validation
Validate all emails in a lead list before using it in campaigns. This removes invalid addresses, disposable emails, and optionally catch-all domains.
Starting Validation
From the dashboard: go to Lists, click the Validate button on any list.
Via API:
bash
curl -X POST http://YOUR_SERVER/v1/outreach/lists/validate/LIST_ID \
-H "Cookie: auth_token=YOUR_SESSION" \
-H "Content-Type: application/json" \
-d '{"catch_all_strategy": "keep"}'Catch-All Strategy
| Strategy | Behavior |
|---|---|
keep | Keep catch-all emails in the list (default) |
delete | Remove catch-all emails from the list |
What Happens During Validation
- List status changes to
processing - Each lead is queued to the validation worker
- Workers perform Level 2 (SMTP) verification on each email
- Invalid emails are marked with
validation_status: "invalid" - Catch-all emails are marked and optionally removed
- Role accounts and disposable emails are flagged
- List status changes to
completedwhen all leads are processed
Validation Results Per Lead
| Status | Meaning |
|---|---|
valid | Email confirmed deliverable |
invalid | Email doesn't exist or domain has no MX |
catchall | Domain accepts all addresses |
disposable | Known disposable/temporary email provider |
role | Role-based address (info@, admin@, etc.) |
Port 25 detection
If port 25 is blocked on your server, the validation worker detects this and marks the list with a note. Level 1 checks still run (syntax, MX, disposable), but SMTP deliverability can't be confirmed.
Monitoring Progress
The list shows real-time progress:
- Initial Count — Total leads when validation started
- Processed Count — Leads checked so far
- Invalid Deleted — Leads removed as invalid
- Catchall Deleted — Leads removed as catch-all (if strategy is "delete")