curl -X POST "https://api.foxreach.io/api/v1/campaigns/cmp_abc123/accounts" \
-H "X-API-Key: otr_your_key" \
-H "Content-Type: application/json" \
-d '{
"accountIds": ["acc_001", "acc_002"]
}'
from foxreach import FoxReach
client = FoxReach(api_key="otr_your_key")
result = client.campaigns.add_accounts("cmp_xyz789", ["acc_sender1"])
import { FoxReach } from "foxreach";
const client = new FoxReach({ apiKey: "otr_your_key" });
const result = await client.campaigns.addAccounts("cmp_xyz789", ["acc_sender1"]);
{
"data": {
"added": 2
}
}
Campaign Accounts
Add Accounts to Campaign
Assign email accounts to a campaign for sending and inbox rotation.
POST
/
api
/
v1
/
campaigns
/
{campaign_id}
/
accounts
curl -X POST "https://api.foxreach.io/api/v1/campaigns/cmp_abc123/accounts" \
-H "X-API-Key: otr_your_key" \
-H "Content-Type: application/json" \
-d '{
"accountIds": ["acc_001", "acc_002"]
}'
from foxreach import FoxReach
client = FoxReach(api_key="otr_your_key")
result = client.campaigns.add_accounts("cmp_xyz789", ["acc_sender1"])
import { FoxReach } from "foxreach";
const client = new FoxReach({ apiKey: "otr_your_key" });
const result = await client.campaigns.addAccounts("cmp_xyz789", ["acc_sender1"]);
{
"data": {
"added": 2
}
}
Path Parameters
string
required
The unique identifier of the campaign.
Body Parameters
array
required
Array of email account IDs to assign to the campaign.
Response
curl -X POST "https://api.foxreach.io/api/v1/campaigns/cmp_abc123/accounts" \
-H "X-API-Key: otr_your_key" \
-H "Content-Type: application/json" \
-d '{
"accountIds": ["acc_001", "acc_002"]
}'
from foxreach import FoxReach
client = FoxReach(api_key="otr_your_key")
result = client.campaigns.add_accounts("cmp_xyz789", ["acc_sender1"])
import { FoxReach } from "foxreach";
const client = new FoxReach({ apiKey: "otr_your_key" });
const result = await client.campaigns.addAccounts("cmp_xyz789", ["acc_sender1"]);
{
"data": {
"added": 2
}
}
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.