Campaigns API
Create, manage, and monitor campaigns via the REST API.
Create Campaign
POST /campaigns
Content-Type: application/json
Authorization: Bearer mcpf_live_xxxx
{
"mcp": "sales-outreach",
"target_url": "acme.com",
"target_audience": "CTOs at SaaS companies, 50-200 employees",
"budget": {
"max_daily_usd": 10,
"max_weekly_usd": 50,
"max_monthly_usd": 200
},
"schedule": {
"frequency": "daily",
"trial_days": 5,
"start_date": "2026-02-01"
},
"reporting": {
"frequency": "daily",
"email": "founder@acme.com",
"webhook_url": "https://..."
}
}Response
{
"id": "camp_abc123",
"status": "starting",
"mcp": "sales-outreach",
"target_url": "acme.com",
"created_at": "2026-01-30T10:00:00Z",
"dashboard_url": "https://dashboard.mcpfactory.org/campaigns/camp_abc123"
}List Campaigns
GET /campaigns
GET /campaigns?status=running
GET /campaigns?mcp=sales-outreachResponse
{
"campaigns": [
{
"id": "camp_abc123",
"status": "running",
"mcp": "sales-outreach",
"target_url": "acme.com",
"created_at": "2026-01-30T10:00:00Z"
}
],
"pagination": {
"total": 1,
"page": 1,
"per_page": 20
}
}Get Campaign
GET /campaigns/:idResponse
{
"id": "camp_abc123",
"status": "running",
"mcp": "sales-outreach",
"target_url": "acme.com",
"target_audience": "CTOs at SaaS companies",
"budget": {
"max_daily_usd": 10,
"spent_today_usd": 3.45
},
"schedule": {
"frequency": "daily",
"trial_days": 5,
"days_remaining": 3
},
"stats": {
"emails_sent": 127,
"delivered": 119,
"opened": 28,
"replied": 6,
"meetings_booked": 1
},
"created_at": "2026-01-30T10:00:00Z"
}Pause Campaign
POST /campaigns/:id/pauseResponse
{
"id": "camp_abc123",
"status": "paused",
"paused_at": "2026-01-31T15:30:00Z"
}Resume Campaign
POST /campaigns/:id/resumeResponse
{
"id": "camp_abc123",
"status": "running",
"resumed_at": "2026-02-01T09:00:00Z"
}Campaign Statuses
| Status | Description |
|---|---|
starting | Campaign is being set up |
running | Campaign is active |
paused | Manually paused |
budget_paused | Paused due to budget limit |
completed | Trial period or schedule ended |
failed | Error occurred (check logs) |