curl -X POST "https://api.foxreach.io/api/v1/campaigns/cmp_abc123/leads" \
-H "X-API-Key: otr_your_key" \
-H "Content-Type: application/json" \
-d '{
"leadIds": ["cld_xyz789", "cld_def456", "cld_ghi012"]
}'
from foxreach import FoxReach
client = FoxReach(api_key="otr_your_key")
result = client.campaigns.add_leads("cmp_xyz789", ["cld_lead1", "cld_lead2"])
import { FoxReach } from "foxreach";
const client = new FoxReach({ apiKey: "otr_your_key" });
const result = await client.campaigns.addLeads("cmp_xyz789", ["cld_lead1", "cld_lead2"]);
{
"data": {
"added": 2,
"skipped": 1
}
}
Campaign Leads
Add Leads to Campaign
Add one or more leads to a campaign by their IDs.
POST
/
api
/
v1
/
campaigns
/
{campaign_id}
/
leads
curl -X POST "https://api.foxreach.io/api/v1/campaigns/cmp_abc123/leads" \
-H "X-API-Key: otr_your_key" \
-H "Content-Type: application/json" \
-d '{
"leadIds": ["cld_xyz789", "cld_def456", "cld_ghi012"]
}'
from foxreach import FoxReach
client = FoxReach(api_key="otr_your_key")
result = client.campaigns.add_leads("cmp_xyz789", ["cld_lead1", "cld_lead2"])
import { FoxReach } from "foxreach";
const client = new FoxReach({ apiKey: "otr_your_key" });
const result = await client.campaigns.addLeads("cmp_xyz789", ["cld_lead1", "cld_lead2"]);
{
"data": {
"added": 2,
"skipped": 1
}
}
Path Parameters
string
required
The unique identifier of the campaign.
Body Parameters
array
required
Array of lead IDs to add to the campaign.
Response
object
curl -X POST "https://api.foxreach.io/api/v1/campaigns/cmp_abc123/leads" \
-H "X-API-Key: otr_your_key" \
-H "Content-Type: application/json" \
-d '{
"leadIds": ["cld_xyz789", "cld_def456", "cld_ghi012"]
}'
from foxreach import FoxReach
client = FoxReach(api_key="otr_your_key")
result = client.campaigns.add_leads("cmp_xyz789", ["cld_lead1", "cld_lead2"])
import { FoxReach } from "foxreach";
const client = new FoxReach({ apiKey: "otr_your_key" });
const result = await client.campaigns.addLeads("cmp_xyz789", ["cld_lead1", "cld_lead2"]);
{
"data": {
"added": 2,
"skipped": 1
}
}
Errors
| Status | Description |
|---|---|
404 | Campaign not found |
Rate Limit
- 100 requests per minute, per API key. Fixed 60-second window.
- Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining, andX-RateLimit-Reset(unix epoch seconds). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.