Skip to main content
PATCH
/
api
/
v1
/
campaigns
/
{campaign_id}
curl -X PATCH "https://api.foxreach.io/api/v1/campaigns/cmp_abc123" \
  -H "X-API-Key: otr_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "dailyLimit": 75,
    "sendingEndHour": 18
  }'
{
  "data": {
    "id": "cmp_abc123",
    "name": "Q1 Outreach",
    "status": "draft",
    "dailyLimit": 75,
    "sendingEndHour": 18,
    "..."
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.foxreach.io/llms.txt

Use this file to discover all available pages before exploring further.

Path Parameters

campaign_id
string
required
The unique identifier of the campaign.

Request Body

All fields are optional. Only include the fields you want to update.
name
string
Campaign name.
timezone
string
Sending timezone.
sendingDays
array
Days of the week to send.
sendingStartHour
integer
Start hour.
sendingEndHour
integer
End hour.
dailyLimit
integer
Maximum emails per day.
context
string
AI context for draft replies.
curl -X PATCH "https://api.foxreach.io/api/v1/campaigns/cmp_abc123" \
  -H "X-API-Key: otr_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "dailyLimit": 75,
    "sendingEndHour": 18
  }'
{
  "data": {
    "id": "cmp_abc123",
    "name": "Q1 Outreach",
    "status": "draft",
    "dailyLimit": 75,
    "sendingEndHour": 18,
    "..."
  }
}

Errors

StatusDescription
400Cannot edit active campaign. Pause it first.
404Campaign not found

Rate Limit

  • 100 requests per minute, per API key. Fixed 60-second window.
  • Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (unix epoch seconds).
  • A 429 response includes a Retry-After header (seconds until the bucket resets).
For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.