API Reference
Outreach Endpoints
API endpoints for managing campaigns, lists, senders, and domains. All require authentication + license.
Campaigns
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/outreach/campaigns | List all campaigns |
| POST | /v1/outreach/campaigns | Create a campaign |
| GET | /v1/outreach/campaigns/:id | Get campaign with steps, lists, senders |
| PUT | /v1/outreach/campaigns/:id | Update campaign (full update) |
| PATCH | /v1/outreach/campaigns/:id | Update status only |
| DELETE | /v1/outreach/campaigns/:id | Delete campaign and steps |
| GET | /v1/outreach/campaigns/ab-stats/:id | A/B test per-variant stats |
Lists & Leads
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/outreach/lists | List all lead lists |
| POST | /v1/outreach/lists | Create list with leads |
| DELETE | /v1/outreach/lists/:id | Delete list and all leads |
| GET | /v1/outreach/lists/:id/download | Download list as CSV |
| POST | /v1/outreach/lists/validate/:id | Start list validation |
| POST | /v1/outreach/lists/:id/leads | Add a single lead |
| GET | /v1/outreach/leads/:id | Get lead with delivery history |
| DELETE | /v1/outreach/leads/:id | Delete a lead |
Senders & Domains
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/outreach/senders | List all senders |
| POST | /v1/outreach/senders | Create sender (internal or external) |
| GET | /v1/outreach/senders/:id | Get sender details |
| PUT | /v1/outreach/senders/:id | Update sender settings |
| DELETE | /v1/outreach/senders/:id | Delete sender |
| GET | /v1/outreach/domains | List all domains |
| POST | /v1/outreach/domains | Add a domain |
| POST | /v1/outreach/domains/:id/verify | Trigger DNS verification |
| DELETE | /v1/outreach/domains/:id | Delete domain |
Analytics & Tracking
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/outreach/stats | Overall outreach statistics |
| GET | /v1/outreach/activity?days=7 | Daily activity chart |
| GET | /v1/outreach/replies | Recent replies (paginated) |
| POST | /v1/outreach/replies/send | Send a reply to a lead |
| GET | /v1/outreach/health | System health (port 25, queues, runtime) |
Settings
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/outreach/settings | Get domains, senders, AI config |
| POST | /v1/outreach/settings | Update AI settings (Gemini key/model) |
Example: Create Campaign
bash
curl -X POST http://YOUR_SERVER/v1/outreach/campaigns \
-H "Content-Type: application/json" \
-H "Cookie: auth_token=YOUR_SESSION" \
-H "X-Workspace-ID: my-workspace" \
-d '{
"name": "Q2 Outreach",
"status": "draft",
"check_reply": true,
"track_opens": true,
"track_clicks": true,
"lists": [{"id": 1}],
"senders": [{"id": 1}, {"id": 2}],
"steps": [{
"position": 0,
"subjects": "[\"Hey {{FIRST_NAME}}\"]",
"body": "<p>Hi {{FIRST_NAME}}, ...</p>",
"wait_days": 0,
"trigger_condition": "always"
}]
}'