Skip to main content
POST
https://api.foxreach.io
/
api
/
v1
/
campaigns
curl -X POST "https://api.foxreach.io/api/v1/campaigns" \
  -H "X-API-Key: otr_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q2 SaaS Outreach",
    "timezone": "America/New_York",
    "sendingDays": [1, 2, 3, 4, 5],
    "sendingStartHour": 9,
    "sendingEndHour": 17,
    "dailyLimit": 30
  }'
{
  "data": {
    "id": "cmp_new123",
    "name": "Q2 SaaS Outreach",
    "status": "draft",
    "timezone": "America/New_York",
    "sendingDays": [1, 2, 3, 4, 5],
    "sendingStartHour": 9,
    "sendingEndHour": 17,
    "dailyLimit": 30,
    "sentToday": 0,
    "context": null,
    "totalLeads": 0,
    "totalSent": 0,
    "totalDelivered": 0,
    "totalBounced": 0,
    "totalReplied": 0,
    "totalOpened": 0,
    "createdAt": "2025-01-15T10:00:00",
    "updatedAt": "2025-01-15T10:00:00",
    "startedAt": null,
    "completedAt": null
  }
}

Request Body

name
string
required
Campaign name.
timezone
string
default:"UTC"
Sending timezone (e.g., America/New_York, Europe/London).
sendingDays
array
default:"[1,2,3,4,5]"
Days of the week to send emails (1=Monday, 7=Sunday).
sendingStartHour
integer
default:"9"
Hour to start sending (0-23).
sendingEndHour
integer
default:"17"
Hour to stop sending (0-23).
dailyLimit
integer
default:"50"
Maximum emails to send per day.
context
string
AI context for generating draft replies to campaign responses.

Response

Returns the created campaign with 201 status code. New campaigns start in draft status.
curl -X POST "https://api.foxreach.io/api/v1/campaigns" \
  -H "X-API-Key: otr_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q2 SaaS Outreach",
    "timezone": "America/New_York",
    "sendingDays": [1, 2, 3, 4, 5],
    "sendingStartHour": 9,
    "sendingEndHour": 17,
    "dailyLimit": 30
  }'
{
  "data": {
    "id": "cmp_new123",
    "name": "Q2 SaaS Outreach",
    "status": "draft",
    "timezone": "America/New_York",
    "sendingDays": [1, 2, 3, 4, 5],
    "sendingStartHour": 9,
    "sendingEndHour": 17,
    "dailyLimit": 30,
    "sentToday": 0,
    "context": null,
    "totalLeads": 0,
    "totalSent": 0,
    "totalDelivered": 0,
    "totalBounced": 0,
    "totalReplied": 0,
    "totalOpened": 0,
    "createdAt": "2025-01-15T10:00:00",
    "updatedAt": "2025-01-15T10:00:00",
    "startedAt": null,
    "completedAt": null
  }
}
After creating a campaign, you’ll need to add sequence steps and leads through the dashboard before starting it.