Move Campaign Leads
Move leads from a campaign that is not active into another campaign.
https://api.foxreach.io/ api/ v1/ campaigns/{campaign_id}/ leads/ moveRequires an API key with the write scope.
Moves up to 5,000 leads from this campaign into another campaign in your workspace. The leads leave this campaign (their pending sends are cancelled and their progress here is dropped) and start the other campaign's sequence from its first step; if that campaign is active, it starts emailing them on its schedule. A lead that is already in the other campaign stays there and leaves this one. A lead whose address or domain is on the block list is not added and stays here. Ids that are not in this campaign are ignored. The Python and TypeScript samples need the next SDK release: the published packages (PyPI foxreach 0.6.0, npm foxreach 0.5.0) do not have move_leads yet. This campaign must not be active: pause it first. The move runs in one transaction inside the call; send larger lists in batches. Each move is recorded in the audit log as audit.campaign.leads_removed on this campaign, with detail moved.
Path Parameters#
campaign_idstringpathrequiredRequest Body#
toCampaignIdstringbodyrequiredleadIdsstring[]bodyrequiredResponse#
dataobjectShow Result
movedintegeralreadyInTargetintegerblockedintegernotInSourceintegerErrors#
| Status | Description |
|---|---|
401 | Missing, invalid, revoked or expired API key |
403 | API key does not have the required scope: write |
400 | This campaign is active |
404 | This campaign or the target campaign is not in this workspace |
422 | Empty list, more than 5,000 ids, or toCampaignId is this campaign |
Rate Limit#
- 100 requests per minute, shared by every
bulkcall in your workspace. Fixed 60-second window. - Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset(unix epoch seconds) andX-RateLimit-Bucket(bulk). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.